繁体   English   中英

用户对raw_input()的响应如何访问相同名称的字符串?

[英]How do I have user's response to raw_input( ) access a string of the same name?

我试图将两个用户输入变成文件名的一部分,然后我的Python脚本将访问该文件名。

例如,我想使用用户输入的内容来构造:date_time_place.txt。 我知道我可以通过串联字符串来做到这一点。

我要求用户提供raw_input()的日期和时间,但是我已经命名了他们可以使用的日期和时间选项:

date1 = yesterday
date2 = today
date3 = tomorrow

time1 = morning
time2 = afternoon
time3 = evening

我指定用户必须将其响应输入为date#或time#。

我想要的是能够使用他或她的响应来获取已分配的date#或time#。 如何处理这样的事情?

尽管可以 ,但是您不应尝试这样做。 而是将您的变量放在字典中;

dates = {
    'date1': yesterday,
    'date2': today,
    'date3': tomorrow,
}

times = {
    'time1': morning,
    'time2': afternoon,
    'time3': evening,
}

现在访问就像dates[userstring]times[userstring]一样简单。

可以使用locals()函数访问局部变量,使用globals()访问全局globals()都返回一个字典),但是您就不能限制它们可以访问的名称。

time = ["morning","afternoon", "evening"]

print """please choose one 0:morning
1:afternoon
2:evening """

daytime = time[int(raw_input())]

这是一个示例解决方案。 检查索引不足的值和非整数值的异常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM