当前位置: 首页 > 面试题库 >

将用户输入设置为变量名

沃博裕
2023-03-14
问题内容

我正在使用python,想知道是否可以向用户询问变量的名称,然后使用该名称创建变量。例如:

my_name = input("Enter a variable name") #for example the user could input orange
#code to set the value of my_name as a variable, say set it to the integer 5
print(orange) #should print 5 if the user entered orange

我知道可以使用字典来完成,但是我想知道是否可以在不创建其他对象的情况下进行。我正在使用python3。谢谢。


问题答案:

您可以使用通过调用返回的字典globals()

input_name = raw_input("Enter variable name:") # User enters "orange"
globals()[input_name] = 4
print(orange)

如果您不希望将其定义为全局变量,则可以使用locals()

input_name = raw_input("Enter variable name:") # User enters "orange"
locals()[input_name] = 4
print(orange)


 类似资料:
  • 我刚开始编程,但仍然在黑暗中蹒跚前行,也许有人能帮我一把?我正在用类Person及其两个子类Student和Employee创建一个程序,询问用户要创建哪个对象,并让他们输入一些信息。 我有一个具有默认构造函数的类Person: 我想为这些变量创建一个getter,以便从其他类访问它们,但它说它们“无法解析为变量”。我想这是因为扫描仪的输入,但我不确定要做什么更改。感谢您的帮助!

  • 可以为用户输入设置计时器吗?等待10秒钟-进行下一步操作等。我的意思是例如

  • 问题内容: 这可能很明显,但是当我试图强制用户继续输入值直到他输入有效值时,我收到一个错误,指出该变量无法解析。 然后,如果我事先声明它,则会收到一条错误消息,指出重复值。 在担心这个问题之前,编译器难道不应该先执行该语句吗? 问题答案: 在循环之前声明,使其作用域更像下面这样:

  • 我将一个字符串设置为activeElement.value,一切正常。现在,我想为activeElement.value设置一个变量,我得到了以下错误代码: 线程“main”中的异常 org.openqa.selenium.WebDriver异常:未定义患者 ID 命令持续时间或超时:66 毫秒 构建信息:版本:“2.45.0”,修订版:“5017cb8”,时间:“2015-02-26 23:59

  • 问题内容: 可以为用户输入设置计时器吗?等待10秒-进行下一个操作等。例如 问题答案: 不是开箱即用,不。通常,只有当另一个线程关闭基础流或到达输入的末尾时,Reader才会中断read()调用。 由于read()并非具有所有可中断性,因此这成为并发编程问题。知道超时的线程将需要能够中断正在尝试读取输入的线程。 本质上,读取线程将必须轮询Reader的ready()方法,而不是在没有要读取的内容时

  • 可以通过Request对象完成全局输入变量的检测、获取和安全过滤,支持包括$_GET、$_POST、$_REQUEST、$_SERVER、$_SESSION、$_COOKIE、$_ENV等系统变量,以及文件上传信息。 获取PARAM变量 PARAM变量是 TP5推荐的获取请求参数的方式 // 获取当前请求的id变量 $request->param('id'); // 获取当前请求的所有变量(已过