【发布时间】:2021-02-26 22:54:08
【问题描述】:
我正在尝试根据我所在循环的迭代将一个变量的值设置为增量等于另一个变量的值。
我有以下代码:
no_keywords=3
cat_0='Alpha'
cat_1='Bravo'
cat_2='Charlie'
cat_3='Delta'
for _ in range(no_keywords):
keyword1 = exec(f'cat_{_}')
print(keyword1)
然而,打印出来的值只是返回一个 NoneType 对象。我希望 Keyword1 的值根据我所在的循环迭代来取 cat_ 变量的值。
请有人帮忙解释我做错了什么并帮助我改正吗?
谢谢,
D
【问题讨论】:
-
不要那样做。使用列表。
-
顺便说一句,
no_keywords应该是4。 -
使用
eval(),而不是exec()。 -
@Barmar “不要那样做。使用列表”和“使用 eval(),而不是 exec()”似乎是相互矛盾的建议。
-
@khelwood 第一个是推荐,第二个是如何修复他的代码。
标签: python loops iteration increment