Python整数输入到相应的命令值

时间:2018-09-29 05:50:42

标签: python list

我对python还是很陌生,想知道是否有一种方法可以将一系列if语句转换为两个对应的列表?

采取这样的方式:

@Path

并将其转换为如下形式:

var = int(input("Enter a number: "))

if var == 1:
    print("One")
elif var == 2:
    print("Two")
elif var == 3:
    print("Three")
elif var == 4:
    print("Four")

我对python的了解还不足以了解这是否可行。我基本上想为用户提供一种更简单的方法来输入数字,并根据输入的数字来接收相应的命令(即print或turtle.forward)。

谢谢您的时间。

3 个答案:

答案 0 :(得分:2)

使用字典可能是一种更好的方法。

outputs = {
    1: "One",
    2: "Two",
    3: "Three",
    4: "Four"
}

var = int(input("Enter a number: "))

print outputs[var]

答案 1 :(得分:0)

尝试一下,这样做会更好一些,并且如果选择不当,也不会提高KeyError

outputs = {
    1: "One",
    2: "Two",
    3: "Three",
    4: "Four",
    'default': 'bad option' 
}
try:
    var = int(input("Enter a number: "))
except ValueError:
    print(outputs.get('default'))        
else:
    print(outputs.get(var, 'bad option'))

阅读here,以了解有关try except else的更多信息。

答案 2 :(得分:0)

不使用字典的另一种方法可能是:

command = ["One", "Two", "Three", "Four"]
try:
    print(command[val-1])
except:
    print('Invalid option')