2 if语句python 3.x

时间:2017-07-18 17:55:58

标签: python-3.x

我是python的新手,我只是搞清楚基础知识。我只是想知道如何在一个输入的一个if语句中有两个可能的选择。

   q2 = input("What is the capital of Brazil? ")
   if q2 == 'Brasilia' or 'brazilia':
        print("Correct!")

   else:
        print("Wrong! The answer was Brasilia.")

然而,当你输入错误的答案时,这不起作用,它表示它是"正确!"

3 个答案:

答案 0 :(得分:1)

如果大写不重要,那么你可以这样做:

if q2.lower() == 'brazilia':

或者,如果只有第一个字母可以是这样的话:

if q2[0].lower() == 'b' and q[1:] == 'razilia':

此外,如果你有更多不同的单词符合答案,那么使用Python的in语句来检查世界是否属于可能的选择列表:

if q2 in ['Brazilia', 'Brasilia']:

等。如有必要,您可以将str.lower()和/或str.upper()in语句合并。

答案 1 :(得分:1)

有很多方法可以获得所需的结果:

  1. echo "1"."<br>";
  2. header('Content-Type: text/plain;charset=utf-8');
  3. if q2 == 'Brasilia' or q2 == 'brasilia':
  4. if q2.lower() == 'brasilia':
  5. 选项#1只是对你所拥有的内容的修正。如果您只有一个仅区分大小写的真实选项,则选项#2是一种简单的方法。如果你有很多选择,那么#3和#4就是你的选择。

答案 2 :(得分:1)

or不能像您尝试使用它一样工作;把它想象为bool(q2 == 'Brasilia') or bool('brasilia'); bool('brasilia')True,所以它永远都是真的。

你需要使用“q2 == 'Brasilia' or q2 == 'brasilia'”,虽然q2.lower() == 'brasilia'更加惯用且更宽容,除非它是严格的重要。