在python中构建了一个带有变量值和固定值的字典

时间:2012-12-19 11:26:08

标签: python dictionary while-loop

我有一个包含参数及其值的字典,我可以通过交互式程序从控制台中检索。

mydic = { 'n': Nvalue , 'p': Pvalue }

我想修复一个值,并在步长的最小值和最大值之间改变另一个值。例如,如果用户选择改变p,则必须选择最小值和最大值以及步骤。而且我必须拥有和词典作为可能性。

min = 0.2
max = 0.5
step = 0.2
n = 3

因此我将:

mydic = { 'n': 3 , 'p': 0.2 }
mydic = { 'n': 3 , 'p': 0.4 }

这是我写的代码。我没有设法更新字典以获得不同的可能性

if var_param == param["name"]:
   minimum = int(input("  Choose the min value of " + var_param + " : "))
   maximum = int(input("  Choose the max value of " + var_param + " : "))
   step = int(input("  Choose the step of the variation : "))

   i = minimum
   while i <= maximum :
       mydic.update({var_param: i+step})
       i= i + step

if var_param != param["name"]:
   mydic.update({param["name"]: int(input("Choose the value of "+ param["name"]+ " : "))})
print(mydic)

我只得到一本字典。我知道问题出在while循环中,但我不知道如何修复它以获得具有正确值的所有可能的字典。

提前致谢

1 个答案:

答案 0 :(得分:2)

您正在替换while循环中的旧词典。您需要指定一个数组[minimum,step,step,step,maximum]作为dict键的值。