我想知道无论如何我都可以让python raw_input()
为我获取变量调用。
我理解的是,raw_input()
接受写在其中的任何注释并将其转换为字符串,就像%r
一样,它只是将我所理解的所有内容打印为调试模式字符串格式化。
但是如果我们尝试转换这样的东西:
test1 = int(raw_input("Please write some number:> "))
print test1 * 100
如果我们输入100,下一行将对其执行计算功能,这是我非常有兴趣实现的,但是这样:
这不是错误的尝试,而是要大致了解我想要的内容
a = "I will like some candies"
b = "I will like some chocolates"
c = "I will rather die but have fried chicken"
test2 = raw_input("Please write the variable name you want to print"
如果这是python采取输入的方式,我们将打印a
,例如输入为a
,依此类推,b
和{{1等等。
在python中是否有办法让程序以变量形式从字符串中获取输入。任何转换?
提前感谢大家的帮助......
答案 0 :(得分:1)
不,正如您所说raw_input
返回一个字符串。如果要根据用户输入返回相关结果,最好的方法是使用字典将变量名称映射到它们的值:
my_dict = {'a': "I will like some candies"
'b': "I will like some chocolates"
'c': "I will rather die but have fried chicken" }
test2 = raw_input("Please write the variable name you want to print"
warning = "Please choose one of the aforementioned choices (a, b, c)"
print my_dict.get(test2,warning)
答案 1 :(得分:0)
如果它是全局变量,那么你可以这样做:
test1 = int(raw_input("Please write some number:> "))
print test1 * 100
a = "I will like some candies"
b = "I will like some chocolates"
c = "I will rather die but have fried chicken"
test2 = raw_input("Please write the variable name you want to print ")
print globals()[test2]
如果没有,则必须指定变量的命名空间。