代码之家  ›  专栏  ›  技术社区  ›  F.M

我的if语句在python中不起作用[重复]

  •  -1
  • F.M  · 技术社区  · 6 年前

    noun2 以元音开头。

    import random
    noun=['it', 'he', 'she', 'I']
    verb=['am', 'is', 'are' ]
    noun1=random.choice(noun).capitalize()+" "
    verb1=random.choice(verb)+" "
    noun2=random.choice(noun)+"."
    if noun2[:1]=='a' or 'e' or 'i' or 'o' or 'u':
        asentence=noun1+verb1+'an '+noun2
        print(asentence)
    else:
      print('hi')
    

    但当我运行程序时,它总是使用“an”,即使在 名词2 以辅音开始。

    1 回复  |  直到 6 年前
        1
  •  1
  •   sP_ Mihai Maruseac    6 年前

    Python的工作方式与英语不同。

    if noun2[:1]=='a' or 'e' or 'i' or 'o' or 'u': 应该是

    if noun2[:1]=='a' or noun2[:1]=='e' or noun2[:1]=='i' or noun2[:1]=='o' or noun2[:1]=='u':
    

    这样做会更好 if noun2[:1] in 'aeiou':

    这个问题以前已经回答过了 here . 你可以阅读更多关于逻辑或 here .