python - Python中如何从 'if'语句继续到 'elif'?

标签 python string if-statement python-3.x count

如何从 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 只会执行其中的一个套房。第一个返回 Trueifelif 条件决定了选择哪个 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/

相关文章:

python - 对文件中的行进行随机二次采样

c - C语言中如何从字符数组中获取数字

java - ArrayList 删除除非包含字符

javascript - 验证 3 个输入字段后按钮不会将我带到下一个 URL

c - 将不需要的数据保存到错误文件

python - 如何在 Django 模板中使用 __repr__ 方法?

python - 从 Python 到 Excel 的 Excel 公式格式

javascript - 用动态空白比较两个字符串的最快方法?

c# - 如何检查用户输入的 MaskedTextBox 是否为空?

python - 如何编写在其内部连接中使用复杂的 "on"子句的 Django 查询?