马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 大头目 于 2018-3-19 08:50 编辑
挖坑:如下代码是本人每日一题164的答案,见23~26行,使用23~25能正常满足题目要求,但是如果用26则代替23~25行代码则无法满足题目要求,不明白为什么
脱坑(现阶段理解):
类似坑:
def check_a(alpha):
a = ''
b = ''
output = ''
count = 0
for i in alpha:
if i in check_str:
count +=1
if count < 3:
if not len(a):
a = i
else:
b = i
#print(a,b)
if a == b:
return None #a和b一样return None
else:
return None #元音超过3个return None
if len(a) == len(b) == 1:
beta = list(alpha)
x = beta.index(a)
y = beta.index(b)
beta[x], beta[y] = b, a
#beta[beta.index(a)], beta[beta.index(b)] = b, a
for j in beta:
output += j
return output
else:
return None #其他不符合情况return None
check_str = 'aeiou'
alpha = input('请输入字符串:')
print(check_a(alpha))
每日一题题目:
元音字母 有:a,e,i,o,u五个, 写一个函数,交换字符串的元音字符位置。
假设,一个字符串中只有二个不同的元音字符。
二个测试用例:
输入 apple 输出 eppla
输入machin 输出 michan
不符合要求的字符串,输出None,比如:
输入 abca (两个元音相同) 输出 None
输入 abicod (有三个元音) 输入None
具体解释你可以看上边那些我的解释,我把你的0和1 替换稍作修改
你看一下,然后在结合我的解释,看看能不能理解。
|