有人能向我解释一下,如何在循环中打印以下变量的内容?
Week23 = [12-9, "free", 15.30-12.30, "free", 12-9]
Week24 = []
Week25 = []
Week26 = []
Week27 = []
Week28 = []
Week29 = []
...我试着玩了下面的游戏,但它没有打印内容。exec语句只是打印出"Week23“等。由于解析错误,eval语句无法工作。
import numpy as np
length = np.linspace(23,42,42-23+1)
for i in length:
print("Week" + str(i))
# print(eval("Week" + str(i)))
# exec('print("Week" + str(i))')发布于 2017-10-16 10:11:15
您可以使用本地人()函数:
Week23 = [12-9, "free", 15.30-12.30, "free", 12-9]
Week24 = []
for week in [23,24]:
print (locals()['Week%s' % week])更多的琵琶会成为一本字典。
发布于 2017-10-16 10:12:22
您可以使用全局()获得一个全局变量及其子集的字典,使用您的逻辑将i转换为整数,然后再将其转换为string:
for i in length:
print(globals()["Week" + str(int(i))])发布于 2017-10-16 10:27:32
问题在数组length中。numpy.linspace()实际上生成一个float数组,如下所示。
[23.0, 24.0, ..., 42.0]试试这些密码,你应该得到你想要的。
for i in range(23, 43):
print("Week" + str(i))
print(eval("Week" + str(i)))最后,使用变量作为名称的一部分确实不是一个好主意。如果可以的话,可以试试dict。
https://stackoverflow.com/questions/46767597
复制相似问题