如何从if语句继续到elif语句?我希望最终的结果是'mybadgr‘,但它却一直打印出'badgr’。
a = "Badger"
vowels = 'AEIOUaeiou'
flicker = len(a)
if a[flicker - 2] in vowels and a[flicker -1] in'r':
final = str(a[:flicker-2])+'r'
flicker = len(str(final))
#continue the if to elif
elif flicker < 6:
final = 'My'+final发布于 2013-09-03 12:21:04
在一组if - elif - else语句中,Python将只执行其中一个套件。返回if或elif的第一个True条件决定选择哪个块;如果不匹配,则执行else。
而不是使用elif,而是使用if启动一个新块:
if a[flicker - 2] in vowels and a[flicker -1] in'r':
final = str(a[:flicker-2])+'r'
flicker = len(str(final))
if flicker < 6:
final = 'My'+final现在它是一个独立的if套件,将与前面的if分别进行测试。
请注意,您不需要使用flicker从末尾进行索引;负索引实现了相同的目标:
if a[-2] in vowels and a[-1] == 'r':
a = a[:-2] + 'r'
if len(a) < 6:
a = 'My{}'.format(a)这实现了相同的结果(尽管只是设置a),而不需要flicker长度变量。
https://stackoverflow.com/questions/18592150
复制相似问题