从键盘任意输入10个英文单词,输出其中以元音字母开头的单词用Python语言编程?

作者&投稿:邵怪 (若有异议请与网页底部的电邮联系)
Python 从键盘输入5个英文单词,输出以元音字母开头的单词?~

这里记录在网易云课堂上的课后作业,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 string

s = 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()

用例

测试结果

运行时间

占用内存

提示

得分

1

通过

18ms

5236kb

1

2

通过

18ms

5236kb

1

2.题目内容: 依次判断一系列给定的字符串是否为合法的 Python 标识符。

输入格式:

一系列字符串,每个字符串占一行。

输出格式:

判断每行字符串是否为合法的 Python 标示符,如果合法则输出 True,否则输出 False。

输入样例:

abc

_def

21gh

输出样例:

True

True

False

时间限制:500ms内存限制:32000kb

import re

tmp = 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()

用例

测试结果

运行时间

占用内存

提示

得分

1

通过

17ms

5112kb

1

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 26:

i = 0

num += i

print num

tmp = raw_input()

用例

测试结果

运行时间

占用内存

提示

得分

1

通过

17ms

5112kb

1

2

通过

17ms

5116kb

1

# -*- coding: utf-8 -*-
import re
import string
while True:
s=raw_input("Input a string:")
ma=re.match("^[a-z]+$",s)
if ma:
l=re.findall("[aeiou]",s)
print "元音个数:",len(l)
print "辅音个数 :",len(s)-len(l)
break

a = []
for i in range(10):
b = input('请输入第'+str(i+1)+'个单词:')

if b[0].lower() in ['a', 'i', 'o', 'e', 'u']:

a.append(b)

for i in a:
print(i)


求C++程序:任意从键盘输入10个整数,按从小到大的顺序排序,并输出结果...
为了实现C++程序,可以按照以下步骤来完成一个从键盘输入10个整数并按从小到大排序的功能:首先,创建一个结构体,名为`IntInfo`,包含整数值(数值域)、排名(排名域)和序号(序号域)。接着,定义一个`IntInfo`类型的数组`d`,用于存储输入的10个整数及其相关信息。定义两个自定义函数:`compareNu...

求C++程序:任意从键盘输入10个整数,按从小到大的顺序排序,并输出结果...
要实现一个C++程序,可以从键盘输入10个整数并按升序排序,下面是具体步骤:首先,创建一个结构体,包含整数值(int),对应的排名(int)以及序号(int)。接着,定义一个结构体数组`d`来存储这10个整数的信息。自定义一个函数,用于比较两个整数的大小,这将在排序过程中起到关键作用。另一个函数则...

c语言从键盘输入任意的10个整数,从中找
C语言从键盘输入任意的10个整数,从中找出最大值和最小值的具体步骤如下:1、首先输入 include<stdio.h> int main(){ int arr[10] = {0};int i = 0;int max = 0;int min = 0;printf("请输入10个整数:");2、然后输入 for (i = 0; i < sizeof(arr)\/ sizeof(arr[0]); i+...

从键盘任意输入10个数,打印出其平均值。分别用while语句、do-while语句...
printf("%g",s\/10.0);return 0;}

由键盘任意输入10个整形数据(数据有序,利用折半查找),查找数据是否存在...
include <stdio.h> void main(){ int i,x,a[10],pos,low,high,mid;printf("请按照从小到大的顺序输入数据:\\n");for(i=0; i<10; i++){ scanf("%d",&a[i]);} printf("请输入要查找的数据:");scanf("%d",&x);pos=-1;low=0;high=9;do { mid = high+low\/2;if(x>a...

汇编语言,键盘任意输入10个1位十进制数,将它们累加求和,把和放在Sum...
assume cs:codecode segmentstart: mov cx, 10 mov bx, 0 mov ah,1$0: int 21h sub al,30h ;不做输入有效性检查 add bl,al adc bh,0 ;实际上需要,10个9相加也不超过al的范围 loop $0 mov ax, bx call print mov ah,4ch int 21h;print (ax) in decmialprint...

C语言 从键盘任意输入10个整数,求10个整数的和及平均值,用do……while...
代码如下:#include<stdio.h> void main(){ int sum=0,i,input;double ave;for(i=1;i<=10;i++){ printf("第%2.d个:",i);scanf("%d",&input);sum+=input;} ave=(double)sum\/(i-1);printf("和为:%d;平均数为:%f\\n",sum,ave);getch();} ...

求c语言大神。从键盘任意输入10个整数,存放在数组中,请计算数组中奇数和...
i,t=0,m=0,s[10];for(i=0;i<10;i++)scanf("%d",&s[i]);for(i=0;i<10;i++){ if(s[i]%2==0) t++;}printf("输出偶数是:%d\\n",t);for(i=0;i<10;i++){ if(s[i]%2!=0) m++;}printf("输出奇数是:%d\\n",m); return 0;} ...

从键盘任意输入10个不同的整数,利用顺序查找法,查找相应数据并输出该数...
void main(){ int c[10],a,i;for(i=0;i<10;i++){ printf("Input i Num:\\n",i);scanf("%d",&c[i]);} printf("Input the num:\\n");scanf("%d",&a);for(i=0;i<10;i++)if(c[i]==a) break;if(i>=10) printf("Not find!\\n");else printf("The %d Num is:%d...

用c语言编写一个程序,输入10个数求平均值。
C语言:编写一个程序,从键盘输入10个学生成绩,求平均成绩。1、虽然main函数可以作为结构体或者类的成员函数,但相应地会失去作为程序出入口的功能。 C++中全局main函数的书写格式与C语言完全相同,功能也完全相同,且同一C++程序同样只能有一个全局main函数。2、循环语句中进行10个数的累加在sum里面,然后...

鹤城区17782621352: c语言用冒泡法选择法从键盘任意输入十个小写字母,按从大到小的顺序排序输出. -
经初乳酸: 1 输入; 2 排序; 3 输出. 参考代码如下: #include <stdio.h> int main() {int a[10];//用来存数据int i,j,temp; for(i = 0; i < 10; i ++)//输入10个数.scanf("%d",&a[i]);for (j = 0; j < 9; j++)//标准冒泡法排序for (i = 0; i < 9- j; i++){if(a[i] > a[i + ...

鹤城区17782621352: 在C语言中怎样用用数组实现键盘任意输入的10字母,然后输出这10个字母. -
经初乳酸: #include <stdio.h> int main(){ char chs[10]; int i; printf("Enter 10 characters: "); for(i=0;i<10;i++) scanf("%c",&chs[i]); for(i=0;i<10;i++) printf("%c ",chs[i]); printf("\n"); return 0; }

鹤城区17782621352: C语言编程:从键盘中输入一个英文字符串
经初乳酸: #include<stdio.h> #include<stdlib.h> int main() { int strSize = 100; char *str = (char *)malloc(sizeof(char) * strSize); int charNum = 0; char input; //逐个字符输入字符串,可以输入int可以表示的最大值个字符 printf("请输入任意个字符:\n"); ...

鹤城区17782621352: c语言从键盘输入十个字母,要求大小写均包含.将全部字符分别转换成 -
经初乳酸: void main() { char ch; scanf("%c",&ch); if (c>='a' && c<='z') printf("%c\n",ch-'a'+'A'); elseif (c>='A' && c<='Z') printf("%c\n",ch-'A'+'a'); else printf("%c\n",ch); }

鹤城区17782621352: 题目:单词排序 从键盘输入10个英文单词,存入一个二维数组中A[][] 对二维数组中的单词进行排序(从小到大 -
经初乳酸: for (int i = 0; i < A.Length; i++){for (int j = A.Length - 1; j > i; j--){if (A[i] >A[j]){int temp = A[i];A[i] = A[j];A[j] = temp;}}}

鹤城区17782621352: 从键盘输入10个字符,把其中的小写字母输出 -
经初乳酸: #include int main(void) { int i=0; char c; while(i++ if(islower(c=getchar())) putchar(c); return 0; }

鹤城区17782621352: 从键盘输入10个不相同的一串英文字母,对这些无序的字符按照字母表顺序进行降序排序.然后输出排序后的字 -
经初乳酸: #include void main(void) { char ch[100];/*假设字符串最长100个字符*/ printf("请输入一个10个不同英文字符的字符串\n"); scanf("%s", ch); int len = strlen(ch);/*求字符串长度*/ for (int i=0; i for (int j=0; j if (ch[j] { char temp=ch[j]; ch[j]=ch[j+1]; ch[j+1]=temp; } printf("排序后的字符串为%s\n", ch); }

鹤城区17782621352: 从键盘输入10个英文字母,将这10个字符存入一个数组中,然后按照与输入顺序相反 -
经初乳酸: #include<stdio.h> void main(){ int i; char str[10]; for(i=0;i<10;i++){ printf("请输入第%d个字母:",(i+1)); scanf("%c",&str[i]); } printf("这10个字母按照输入顺序相反的排列是:"); for(i=9;i>=0;i--){ printf("%c ",str[i]); } }

鹤城区17782621352: c语言,从键盘上输入10个字符,将其中的小写英文字母转换成大写英文字母,并将结果显示出来.在线等待!! -
经初乳酸: #include void main() {int i; char c; for (i=0;i{c=getchar();//这一句不知道对不对?if (c>='a'&&cc=c-32; printf("%c ",c); } }

鹤城区17782621352: 从键盘上输入十个字符串,按从小到大输出 -
经初乳酸: #include #define N 10 void select_sort(int s[]) { int i, j, temp, min; for (i=0; i { min = i; for (j=i+1; j { if (s[j]} temp = s[i]; s[i] = s[min]; s[min] = temp; } return; } void bubble_sort(int s[]) { int i, j, temp, flag; for (i=N-1; i>=1; i--) { flag = 0; for (j=0; j { if (s[j] > s[j+1])...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网