我是python的新手,我只是搞清楚基础知识。我只是想知道如何在一个输入的一个if语句中有两个可能的选择。
q2 = input("What is the capital of Brazil? ")
if q2 == 'Brasilia' or 'brazilia':
print("Correct!")
else:
print("Wrong! The answer was Brasilia.")
然而,当你输入错误的答案时,这不起作用,它表示它是"正确!"
答案 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)
有很多方法可以获得所需的结果:
echo "1"."<br>";
header('Content-Type: text/plain;charset=utf-8');
if q2 == 'Brasilia' or q2 == 'brasilia':
if q2.lower() == 'brasilia':
选项#1只是对你所拥有的内容的修正。如果您只有一个仅区分大小写的真实选项,则选项#2是一种简单的方法。如果你有很多选择,那么#3和#4就是你的选择。
答案 2 :(得分:1)
or
不能像您尝试使用它一样工作;把它想象为bool(q2 == 'Brasilia') or bool('brasilia')
; bool('brasilia')
是True
,所以它永远都是真的。
你需要使用“q2 == 'Brasilia' or q2 == 'brasilia'
”,虽然q2.lower() == 'brasilia'
更加惯用且更宽容,除非它是严格的重要。