使用输入选择变量
selecting a variable using input
我是新手 python 并且需要知道如何通过键入 a 或 b 或 c 来打印其中一个 theis 列表,我尝试使用 if 条件并且它正在工作但是如果我有 100 个 theis 列表怎么办有更好的方法谢谢。
letters = input("Select a letter ")
a = ["aaaa","aaaa","aaaa","aaaa",]
b = ["bbbb","bbbb","bbbb","bbbb",]
c = ["CCCC","CCCC","CCCC","CCCC",]
if letters == "a":
print(a)
elif letters == "b":
print(b)
elif letters == "c":
print(c)
else:
print("wrong input")
最简单的方法是调用eval
。
print(eval("a"))
print(eval(letters)) # beware
但是,必须 永远不要 直接评估从用户获得的任何原始输入,因为他们随后可以输入一个命令,使程序执行任意操作,例如绕过限制、窃取数据或擦除您的文件。必须始终处理或全面审查用户输入:
if letters in ["a", "b", "c"]:
print(eval(letters)) # safe
else:
print("wrong input")
另一种方法是使用内置函数 locals()。它 returns 本地范围内可访问的所有变量和值的字典。
if letters in ["a", "b", "c"]:
print(locals()[letters])
我是新手 python 并且需要知道如何通过键入 a 或 b 或 c 来打印其中一个 theis 列表,我尝试使用 if 条件并且它正在工作但是如果我有 100 个 theis 列表怎么办有更好的方法谢谢。
letters = input("Select a letter ")
a = ["aaaa","aaaa","aaaa","aaaa",]
b = ["bbbb","bbbb","bbbb","bbbb",]
c = ["CCCC","CCCC","CCCC","CCCC",]
if letters == "a":
print(a)
elif letters == "b":
print(b)
elif letters == "c":
print(c)
else:
print("wrong input")
最简单的方法是调用eval
。
print(eval("a"))
print(eval(letters)) # beware
但是,必须 永远不要 直接评估从用户获得的任何原始输入,因为他们随后可以输入一个命令,使程序执行任意操作,例如绕过限制、窃取数据或擦除您的文件。必须始终处理或全面审查用户输入:
if letters in ["a", "b", "c"]:
print(eval(letters)) # safe
else:
print("wrong input")
另一种方法是使用内置函数 locals()。它 returns 本地范围内可访问的所有变量和值的字典。
if letters in ["a", "b", "c"]:
print(locals()[letters])