2012-12-19 3 views
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) 

나는 하나의 사전 만 얻는다. 나는 문제가 while 루프에 있다는 것을 알고 있지만 올바른 값으로 가능한 모든 사전을 얻기 위해 문제를 해결하는 방법을 모르겠습니다.

미리 감사드립니다.

+0

''p '를 저장하지 않는 이유는 무엇입니까? range (min, max, step)'? – StoryTeller

+0

부유물이있는 경우 작동합니까? 나는 그 범위가'int'만으로 동작한다고 생각했다. – user850287

+1

잠시 동안 당신은 항상 mydic.update ({var_param : i + step})를하고있다. 당신의 이전 값은 키가 동일한 – avasal

답변

2

while 루프 내에서 이전 사전을 바꿉니다. dict 키의 값으로 [minimum, step, step, step, maximum] 배열을 할당해야합니다.

관련 문제