Python程序设计入门——第五周作业
来源:互联网 发布:c语言char a[]= 编辑:程序博客网 时间:2024/05/22 03:15
这里记录在网易云课堂上的课后作业,Python环境为2.7,如果您有更好的算法还望斧正!
1.题目内容:
“Pig Latin”是一个英语儿童文字改写游戏,整个游戏遵从下述规则:(1). 元音字母是‘a’、‘e’、‘i’、‘o’、‘u’。字母‘y’在不是第一个字母的情况下,也被视作元音字母。其他字母均为辅音字母。例如,单词“yearly”有三个元音字母(分别为‘e’、‘a’和最后一个‘y’)和三个辅音字母(第一个‘y’、‘r’和‘l’)。
(2). 如果英文单词以元音字母开始,则在单词末尾加入“hay”后得到“Pig Latin”对应单词。例如,“ask”变为“askhay”,“use”变为“usehay”。
(3). 如果英文单词以‘q’字母开始,并且后面有个字母‘u’,将“qu”移动到单词末尾加入“ay”后得到“Pig Latin”对应单词。例如,“quiet”变为“ietquay”,“quay”变为“ayquay”。
(4). 如果英文单词以辅音字母开始,所有连续的辅音字母一起移动到单词末尾加入“ay”后得到“Pig Latin”对应单词。例如,“tomato”变为“omatotay”, “school” 变为“oolschay”,“you” 变为“ouyay”,“my” 变为“ymay ”,“ssssh” 变为“sssshay”。
(5). 如果英文单词中有大写字母,必须所有字母均转换为小写。
输入格式:
一系列单词,单词之间使用空格分隔。
输出格式:
按照以上规则转化每个单词,单词之间使用空格分隔。
输入样例:
Welcome to the Python world Are you ready
输出样例:
elcomeway otay ethay ythonpay orldway arehay ouyay eadyray
时间限制:500ms内存限制:32000kb
我的答案:
import strings = raw_input()words = s.split()newWords = ''for word in words: tmp = word.lower() if tmp[0] in 'aeiou': tmp += 'hay' elif tmp[0] == 'q' and tmp[1] == 'u': tmp = tmp[2:] + 'quay' else: tmp = tmp[1:] + tmp[0] for i in range(0, len(tmp)): if tmp[i] in 'aeiouy': break; tmp = tmp[i:] + tmp[:i] + 'ay' newWords += tmp + ' 'print newWords.strip()
2.题目内容:
依次判断一系列给定的字符串是否为合法的 Python 标识符。输入格式:
一系列字符串,每个字符串占一行。
输出格式:
判断每行字符串是否为合法的 Python 标示符,如果合法则输出 True,否则输出 False。
输入样例:
abc
_def
21gh
输出样例:
True
True
False
时间限制:500ms内存限制:32000kb
import retmp = raw_input()while(tmp != ''): if not re.search(u'^[_a-zA-Z0-9]+$',tmp): print False elif not re.search(u'^[_a-zA-Z]+$',tmp[0]): print False else: print True tmp = raw_input()
3.题目内容:
依次计算一系列给定字符串的字母值,字母值为字符串中每个字母对应的编号值(A对应1,B对应2,以此类推,不区分大小写字母,非字母字符对应的值为0)的总和。例如,Colin 的字母值为 3 + 15 + 12 + 9 + 14 = 53输入格式:
一系列字符串,每个字符串占一行。
输出格式:
计算并输出每行字符串的字母值。
输入样例:
Colin
ABC
输出样例:
53
6
时间限制:500ms内存限制:32000kb
tmp = raw_input()while(tmp != ''): num = 0 tmp = tmp.lower() for c in tmp: i = ord(c) - 96 if i < 1 or i > 26: i = 0 num += i print num tmp = raw_input()
0 0
- Python程序设计入门——第五周作业
- 程序设计入门—Python 第一周作业
- 程序设计入门—Python之第二周作业
- 《程序设计入门—Java语言.翁恺》第五周编程作业(1)-多项式加法
- 《程序设计入门—Java语言.翁恺》第五周编程作业(2)-井字棋
- 程序设计入门——Java入门作业(第三周)
- 程序设计入门—Python
- 程序设计入门—Python
- python程序设计第五周
- 程序设计入门—Java语言_第三周编程作业
- 程序设计入门—Java语言_第二周编程作业
- 程序设计入门——Java作业
- 程序设计实习MOOC / 继承和派生——编程作业 第五周程序填空题1
- C语言入门-第五周:作业01
- 《C#程序设计》第五次作业
- 《C#程序设计》第五次作业
- 程序设计入门——C语言 个人作业记录
- 网易云课堂程序设计入门—Java语言(第五周)
- java反射技术
- wegwg
- 对C++中指针做函数形参的理解
- 【思维导图】数据结构第五章 树和二叉树
- android Notification 的使用
- Python程序设计入门——第五周作业
- PL/SQL 显式游标
- LEETCODE: Sort List
- mongodb入门之mongodb目录结构
- 《数据结构课程设计》 活期储蓄管理系统 实验报告
- 推荐功能学习笔记(二)PCA
- intent 学习笔记
- mongodb入门之mongodb基本语法
- HDU 1150 -- Machine Schedule (最小点覆盖)