2014-11-20 2 views
0

저는 아주 간단한 그래픽 프로그램을 만들고 있습니다. 내가 'colour1'를 넣어for 루프에서 유사한 변수를 많이 할당하기

nums = ["second", "third", "fourth"] 
for colours in range(3): 
    numString = nums[colours] 
    inputWindow.getMouse() 
    colour1 = inputBox.getText() 
    inputBox.setText("") 
    instruction.setText("Please enter the {0} colour: ".format(numString)) 

, 나는 (if 문이 오래를 사용하지 않고) 각각의 반복에 colour1, 컬러 2, colour3 및 colour4 순환으로합니다. 이 특정 프로그램에는 사전을 사용할 수 없습니다.

결국이 함수는 사용자가 입력 한 모든 색상을 반환합니다. 나는 목록을 사용하려했지만 변수 이름에 사용할 수 없다는 것을 깨달았다.

도움 주셔서 감사합니다.

편집 : 혼란스러워서 (미안하다.) 나는 더 잘하려고 노력할 것이다 : 내 코드는 이상하게 보이고 아무데도 나오지 않는다. 나는 그것을 단순화 할 것이다 :

def getInputs(): 
    for colours in range(3): 
     colour1 = userInput() 
    return colour1, colour2, colour3, colour4 

이것은 기본적으로 요지이다. 나는 'colour1 = userinput()'이 (사전을 사용하지 않고) 다른 변수를 순환하는 방법이 있는지 알고 싶다.

+2

나는 이것에 대해 읽기 사전 –

+0

를 사용할 수 있지만, 나는 특정 할당을하고있어 나는 생각하지 않는다 '사전을 사용할 수 있습니다 : S – Jett

+1

네, 사용을 허락 해 주시겠습니까? 나는 대답을 게시하고 싶지 않습니다. "죄송합니다. 나는 그 중 하나를 사용할 수 없습니다." – Kevin

답변

1

새 정보를 반영하도록 편집 중입니다. 여기서 염두에 두어야 할 주요 사항은 시퀀스 유형 (list, dict 등)을 사용하여 결과를 수집 할 수 있다는 것입니다.

당신이 정말로 튜플을 반환하고자 할 경우
def get_inputs(): 
    # a list to collect the inputs 
    rval = [] 

    for colours in range(4): 
     # range(4) will walk through [0,1,2,3] 

     # this will add to the end of the list 
     rval.append(userInput()) 

    # after the for loop ran four times, there will be four items in the list 
    return rval 

, 마지막 줄 return tuple(rval)

+1

이건'colors [num * s * [c]] = inputBox.getText()'(emphasis mine)일까요? – Dannnno

+0

감사합니다.이 문제를 해결하고 결과를 얻을 수 있는지 확인해 보겠습니다. – Jett

+0

이 맞습니다. 수정했습니다. –

관련 문제