我对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)。
谢谢您的时间。
答案 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')