如何检查userinput是否是其他内容?

时间:2018-06-03 17:06:11

标签: python python-3.x

我想查看用户输入的内容,如果是其他内容,则会打印(“”)并继续。

现在我有

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)

但它只会打印其中一个以作任何回复。有人可以帮助我如何只从给定的响应?

2 个答案:

答案 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!")

这是Python Operators

的良好链接

答案 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)