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

在python中构建了一个具有可变值和固定值的字典,python,dictionary,while-loop,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.

我有一个带有参数及其值的字典,我通过一个交互式程序从控制台检索这些参数和值

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)
如果var_param==param[“name”]:
最小值=int(输入(“选择“+var_param+”:”)的最小值)
最大值=int(输入(“选择“+var_param+”:”的最大值)
步骤=int(输入(“选择变量的步骤:”)
i=最小值

而我您正在替换while循环中的旧词典。您需要指定一个数组[最小值、步长、步长、步长、最大值]作为dict键的值。

为什么不直接存储
'p':范围(最小值、最大值、步长)
?如果我有浮点数,它能工作吗?我认为该范围仅适用于
int
您总是在执行
mydic.update({var_param:I+step})
而与此同时,您的旧值正在更新中被替换为新值,因为键是samehave