|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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 替换稍作修改
你看一下,然后在结合我的解释,看看能不能理解。
|
|