Python 3.6 - 我需要使用循环还是其他东西?

时间:2017-12-16 07:26:33

标签: python python-3.x python-3.6

我正在创建一个脚本,要求用户输入一个数字,并根据数字打印一个特定的答案。我遇到的问题是,我不知道如何制作,所以他们可以在打印后继续输入不同的数字,并看到不同的答案。我是Python的新手,我不确定循环是否是我需要使用的,以及我是如何做到的。 关于我的代码,我有5个以上的答案,但我只是缩短了它,因此更容易阅读。现在,我可以输入不同答案的唯一方法是输入一个,让它打印答案,关闭它,再打开它并输入一个不同的数字。脚本本身工作正常,我只是想找到一种方法来遍历所有数字,而不必每次我想要一个不同的答案时继续运行脚本。如果有人能帮助我,我会很感激。谢谢。

print ("Welcome.")

var = int(input("Please Enter A Number: "))

if var == 1:
    print("Hi.")
if var == 2:
    print("Hello.")
if var == 3:
    print("Yes.")
if var == 4:
    print("No.")
if var == 5:
    print("Answer.")

k=input("Press Enter To Close")

3 个答案:

答案 0 :(得分:2)

是的,你需要一个循环。您正在寻找的是dict(又名地图),它允许您将数字转换为字符串。像这样:

print("Welcome.")

while True:
    var = int(input("Please Enter A Number: press Ctrl-C to quit"))

    number_to_string = {1: 'Hi.', 2: 'Hello.', 3: 'Yes', 4: 'No.', 5: 'Answer.'}
    if var in number_to_string:
        print(number_to_string[var])
    else:
        print('unknown')

答案 1 :(得分:0)

answers=["Hi","Hello","Yes","No","Answer"]
while True:
    number=input("Please Enter a Number:")
    if number=="": break
    print(answers[int(number)-1])

答案 2 :(得分:0)

我们可以使用无限循环来请求数字,而无需再次运行代码:

print ("Welcome.")

def enter_number():
  var = int(input("Please Enter A Number: "))
  if var == 1:
      print("Hi.")
  if var == 2:
      print("Hello.")
  if var == 3:
      print("Yes.")
  if var == 4:
      print("No.")
  if var == 5:
      print("Answer.")

while True:
  enter_number()
  play_again = input("Do you want to play again (yes / no)?")
  if play_again == "no":
    break