如何从 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
最佳答案
在一组 if
- elif
- else
语句中,Python 只会执行其中的一个套房。第一个返回 True
的 if
或 elif
条件决定了选择哪个 block ;如果没有匹配项,则执行 else
。
代替elif
,使用if
开始一个新 block :
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
长度变量。
关于python - Python中如何从 'if'语句继续到 'elif'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18592150/