首页 > 解决方案 > 原始输入中的多个运算符不起作用

问题描述

我尝试制作一些机器人,并与多个运算符堆叠 if。这是脚本的一部分:

def start() :
  print
ans=True
while ans:
    print
    ans=raw_input(": User : ")
    if ans=="A":
         WORDS = ("A", "B", "C")
         word = random.choice(WORDS)
         print
         print ": Syst :", word
         time.sleep(1)
         start()
    else:
         print("\n Not Valid Choice Try again")
         print
         time.sleep(2)
         start()

在这一行中:如果 ans=="A": 我想使用多个运算符:我可以这样做:

def start() :
  print
ans=True
while ans:
    print
    ans=raw_input(": User : ")
    if ans=="A":
         WORDS = ("A", "B", "C")
         word = random.choice(WORDS)
         print
         print ": Syst :", word
         time.sleep(1)
         start()
    elif ans=="B":
         WORDS = ("A", "B", "C")
         word = random.choice(WORDS)
         print
         print ": Syst :", word
         time.sleep(1)
         start()
    elif ans=="C":
         WORDS = ("A", "B", "C")
         word = random.choice(WORDS)
         print
         print ": Syst :", word
         time.sleep(1)
         start()
    else:
         print("\n Not Valid Choice Try again")
         print
         time.sleep(2)
         start()

它对我不好,因为它会很长......我需要它是这样的:

      if ans==("A","B","C"):
         WORDS = ("A", "B", "C")
         word = random.choice(WORDS)
         print
         print ": Syst :", word
         time.sleep(1)
         start()

并且它不起作用..sintax 有一些错误..我不能让它工作请原谅我,我的英语不太好。

标签: python

解决方案


这里的解决方案感谢 Tanmay Jain

if ans=="A" or ans == "B" or ans == "C":
         WORDS = ("A", "B", "C")
         word = random.choice(WORDS)
         print
         print ": Iqar :", word
         time.sleep(1)
         start()

推荐阅读