tom*_*tom 7 python variables loops for-loop increment
在Python中,如果我有一个用户输入数字X,然后程序进入一个用户输入X值的for循环,是否有一种方法/让变量名称自动递增是一个坏主意?
即:
user inputs '6'
value_1 = ...
value_2 = ...
value_3 = ...
value_4 = ...
value_5 = ...
value_6 = ...
Run Code Online (Sandbox Code Playgroud)
我可以使变量名称增加,以便我可以拥有用户输入的变量数量吗?或者我应该使用完全不同的方法,例如将所有新值附加到列表中?
虽然使用列表或字典当然是正确的方法,但可以使用exec()创建命名变量.您将错过列表和词典提供的所有便捷操作(想想len(),插入,删除,排序等),但它可能:
count = raw_input('Number of variables:')
for i in xrange(count):
exec('var_' + str(i) + ' = ' + str(i))
Run Code Online (Sandbox Code Playgroud)
exec()接受并执行包含有效Python表达式的字符串.所以上面的代码就是动态生成和执行代码.