在for循环中分配许多类似的变量

时间:2014-11-20 16:02:14

标签: python loops variables for-loop

我制作了一个非常简单的图形程序而且很新。

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))

我把colour1'放在哪里,我希望它在每次迭代时循环通过colour1,colour2,colour3和colour4(不使用long if语句)。字典不能用于此特定程序。

最后,该函数返回从用户输入的所有这些颜色。我尝试使用列表,但意识到你不能将它们用于变量名称。

感谢您的帮助。

编辑:看到很多混乱(我很抱歉),我会尝试更好地解释: 我的代码有点奇怪,无处可来。我将简化它:

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

这基本上是要点。我想知道是否有办法循环使用不同的变量,其中colour1 = userinput()'是(不使用字典)。

1 个答案:

答案 0 :(得分:1)

编辑以反映新信息。这里要记住的主要事情是,您可以使用序列类型(listdict等)来收集结果。

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)