首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Python中的“if”语句继续到“elif”语句?

如何从Python中的“if”语句继续到“elif”语句?
EN

Stack Overflow用户
提问于 2013-09-03 12:18:15
回答 1查看 3.6K关注 0票数 2

如何从if语句继续到elif语句?我希望最终的结果是'mybadgr‘,但它却一直打印出'badgr’。

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-03 12:21:04

在一组if - elif - else语句中,Python将只执行其中一个套件。返回ifelif的第一个True条件决定选择哪个块;如果不匹配,则执行else

而不是使用elif,而是使用if启动一个新块:

代码语言:javascript
复制
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从末尾进行索引;负索引实现了相同的目标:

代码语言:javascript
复制
if a[-2] in vowels and a[-1] == 'r':
    a = a[:-2] + 'r'

if len(a) < 6:
    a = 'My{}'.format(a)

这实现了相同的结果(尽管只是设置a),而不需要flicker长度变量。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18592150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档