|
发表于 2020-4-19 12:35:02
|
显示全部楼层
本楼为最佳答案
本帖最后由 悠悠2264 于 2020-4-19 12:39 编辑
1.split()是把输入的按空格切开来,返回一个列表。后面for循环时len(i)返回的是列表的长度,不是字符串的长度,因此就不会执行for循环。所以不需要这个split()
2.你这个只能判断首尾字符是否符合,中间字符和倒数第二个是元音还是辅音,并不符合题目要求的判断辅元辅元(一个或多个字母)。
这个是正确代码:
- r=input()
- num = 0 #num用来记录元辅次数
- for i in range(len(r)): #迭代字符索引
- if i == 0: #判断是否为第一个字符
- if r[i] != 'aeiou': #判断第一个字符是否是元音字母,是num+1并退出此次循环,否不加并退出循环
- num +=1
- continue
- else:
- break
- if (r[i] in 'aeiou') == (r[i-1] in 'aeiou'): #判断是否和前一个字母的元辅相等,相等则退出此次循环
- continue
- num+=1 #不相等则num+1
- if(num == 4): #num等于4,格式就是元辅元辅,打印yes,否则打印no
- print("yes")
- else:
- print("no")
复制代码 |
|