我想从python3中的用户获取输入字符串。例如:abc是一个输入字符串。现在我想用" abc"创建一个字典内幕我的程序。 name.Is有可能吗?
答案 0 :(得分:0)
这是非常可能的,但我不建议尝试这样做。如果你真的需要你所要求的东西,那么这样的东西就会起作用:
>>> exec(input("Enter name: ") + ' = {}')
Enter name: myDict
>>> myDict
{}
>>> locals()['myDict']
{}
>>>
但通常A bad idea to use exec()
,input()
的组合。没有它,通常有更好的方法来做某事。事实上,有更好的方法。
不是尝试根据用户输入创建变量,而是使用字典。这样,您就可以很好地控制“变量”。您可以轻松扩展它,以便从用户输入向变量字典添加多个“变量”:
>>> varDict = {}
>>> name = input("Enter name: ")
Enter name: myDict
>>> varDict[name] = {}
>>> varDict[name]
{}
您可以使用while循环和input()
动态创建变量。创建一个字典来保存所有用户输入的变量。创建一个while循环,然后向用户询问变量名称和值:
>>> varDict = {}
>>> while True:
name = input("Enter a variable name: ")
value = input("Enter a variable value: ")
varDict[name] = value
Enter a variable name: var1
Enter a variable value: a
Enter a variable name: var2
Enter a variable value: b
Enter a variable name: var3
Enter a variable value: c
Enter a variable name:
Traceback (most recent call last):
File "<pyshell#12>", line 2, in <module>
name = input("Enter a variable name: ")
KeyboardInterrupt
>>> varDict
{'var1': 'a', 'var2': 'b', 'var3': 'c'}
>>>