我想查看用户输入的内容,如果是其他内容,则会打印(“”)并继续。
现在我有
userasnwer = int(input("reply with Hi or Hello or Yo"))
if userasnwer == "Hi" or "Hello" or "Yo":
from random import randint
number = randint(1,3)
if number == 1:
print(awnser1)
if number ==2:
print(awnser2)
if number == 3:
print(awnser3)
但它只会打印其中一个以作任何回复。有人可以帮助我如何只从给定的响应?
答案 0 :(得分:0)
所以我认为你的问题源于这条线,
if userasnwer == "Hi" or "Hello" or "Yo":
这里python检查三个条件中的一个是True
。
首先,它检查userasnwer == "Hi"
。然后,"Hello"
或"Yo"
。如果你打开一个Python REPL或运行一个像
if "hello":
print("Hi!")
您会看到"hello"
评估为True
。你明白为什么你的程序现在运行不正确吗?
编辑:我现在看到了你真正的问题,但隐藏在其下面的一个错误,我帮你压扁了。在检查if-statement
的{{1}}之后,您只需要一个useranswer
。即..
else-statement
注意更多'pythonic'方式来写第一行,
if useranswer == 'Hi' or useranswer == 'Hello' or useranswer == 'Yo':
# insert your logic here
else:
print("No greeting!")
的良好链接
答案 1 :(得分:0)
userasnwer = input("reply with Hi or Hello or Yo")
if userasnwer == "Hi" or userasnwer == "Hello" or userasnwer == "Yo":
from random import randint
number = randint(1,3)
if number == 1:
print(awnser1)
if number ==2:
print(awnser2)
if number == 3:
print(awnser3)