在我的代码中,我有变量,例如Up1、Up2 .....so on。这与买火车票有关。用户以整数的形式输入时间,如下图所示,但不是以(hh:mm)的形式输入,我希望python接受用户的整数输入,将其附加字符串‘Up’(这里是整数)来创建上面提到的变量,例如9:00的Up9,现在python需要找到该特定列车的座位数,并比较用户输入的座位是否在可用的座位范围内。但是,在行中(而Tickets_to_buy > Uptime_:),Uptime_是一个字符串,python拒绝它。如何将这个str(Uptime_)转换成一个变量名,而不是str(Up9),它将变成一个变量(Up9),并且python获取它的值来与其他变量进行比较.
Uptime = int(input('''Please enter the time of uptime from below:
9 for 09:00
1 for 11:00
3 for 03:00
5 for 15:00'''))
Downtime = int(input('''Please enter the time of downtime from below:
0 for 10:00
2 for 12:00
4 for 14:00
6 for 16:00'''))
Uptime_ = ('UP' + str(Uptime))
Tickets_to_buy = 0
while Tickets_to_buy > Uptime_:
Tickets_to_buy = int(input('Please enter number of tickets you would like to buy. It should be less than', Uptime_)) 发布于 2021-02-23 16:11:51
不知道你为什么不喜欢字典..。但是您也可以在这里使用元组:
您现在有了变量:
UP1 = varFor1
UP9 = varFor9相反,让一个元组与您的用户输入直接相关:
varList = ((9, varFor9), (1, varFor1))在您的代码中,现在只需更改将Uptime_设置为:
for each in varList:
if each[0] = Uptime:
Uptime_ = each[1]话虽如此,如果您将变量输出设置为字典:
varList = { 9 : "varFor9", 1 : "varFor1" }您可以做同样的事情,但是仍然可以在一行中分配Uptime_:
Uptime_ = varList[Uptime]而且,每当您使用用户输入时,您都可能希望尝试/除非在尝试执行输入的地方,以防止出现胖手指,或者输入一个您不想要/期望的值。
https://stackoverflow.com/questions/66335947
复制相似问题