我想在python3中从用户处获取输入字符串。例如:abc是一个输入字符串。现在我想用“abc”名称创建一个字典内幕我的程序。是否有可能?如何使用用户输入的名称创建变量?
回答
这是非常可能的,但我不建议尝试去做。如果你真的需要你的要求的东西,像这样的工作:
>>> 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'}
>>>
感谢您的帮助。实际上,我必须创建一个编译器,像python中的程序,用于大学任务,我们没有在课堂上教过任何东西。因此,为了轻松实现一个类似于结构的功能,我试着如果这个动态命名是可能的,这样我的工作可以变得更容易一些。你能否提出一种不太复杂的方法来实现像特征这样的结构。任何帮助将不胜感激。 –
另外,我在想,即使我创建了一个带有输入名称的字典,那么我如何能够访问我的进一步程序中的字典 –
@helptaker关闭你会得到无缝的动态命名是使用字典。实际上,这不是一个复杂的方法。我会添加一些更多的答案,以帮助清除你的困惑。 –
- 1. 如何使用用户的输入作为变量的名称在python中?
- 2. 如何使用C++创建名称基于用户输入的.txt文件
- 3. Python - 如何使用用户输入的名称创建文件夹?
- 4. 从用户输入创建动态命名变量
- 5. 名称的用户输入
- 6. 如何在C#中使用动态名称创建变量?
- 7. 用动态名称创建变量
- 8. 使用SAS宏变量在PROC中创建变量名称SQL
- 9. 用户输入预定义变量的名称/字符
- 10. LDAP SearchFilter CN来自用户输入定义的变量名称
- 11. 创建用户命名的变量?
- 12. 使用名称中的变量创建新文件名
- 13. 创建变量名称与变量
- 14. VBA如何创建包含变量的变量名称
- 15. 如何用变量的名称创建一个新类(对象?)?
- 16. 将用户输入设置为变量名称
- 17. 在python中创建用户输入目录名称
- 18. 使用部分变量名创建字典名称
- 19. jsTree创建文件夹 - 在用户输入名称前创建的文件夹
- 20. 如何更改用户输入变量?
- 21. 如何加入两个变量来创建文件夹名称?
- 22. 我可以使用用户输入按名称打印变量吗?
- 23. 通过使用变量调用jenkins作业来创建名称
- 24. 如何用php变量创建表格作为表格名称?
- 25. 如何使用动态变量名称?
- 26. 如何使用forloop变量名称
- 27. MySQL使用变量创建用户?
- 28. 使用Python创建具有变量名称的SQL表格
- 29. 使用foreach命令创建编号的变量名称
- 30. 无法使用变量的名称创建新分区
当然,有什么困扰吗?这个名字的价值是什么? –
它将是运行时给出的输入 –
我是堆栈溢出的新手,我在Google搜索时没有发现这个问题。你可以将这个帖子取消为重复。 –