如何将一个循环放在另一个循环中

How to put a loop inside another loop

我正在尝试在另一个循环中创建一个循环。下面是循环遍历一系列问题并将结果输出为字符串的代码。我还希望能够继续提问,直到用户打破循环并打印出用户输入的所有文本并对其进行编号。

while True:     
    eventNub= raw_input("Enter event: ")
    if eventNub = ' ':
        break
    else:
        var1 = raw_input("User input 1")
        var2 = raw_input("User input 2")
        var3 = raw_input("User Input 3")
        var4 = raw_input("User input 4")

print('eventNub + var1 + var2 + var3 + var4")

我想要的结果是:

  1. 变量 1、变量 2、变量 3、变量 4。
  2. 变量 1、变量 2、变量 3、变量 4。
  3. 变量 1、变量 2、变量 3、变量 4。
  4. 变量 1、变量 2、变量 3、变量 4。
  5. 变量 1、变量 2、变量 3、变量 4。

或用户不中断循环的次数。

试试这个,让我知道输出是否正确:

count = -1
var = []
no_of_vars = 4
while True:
    count += 1
    eventNub= raw_input("Enter event: ")
    if eventNub != ' ':
        var.append([''] * no_of_vars)
        for i in range(no_of_vars):
            var[count][i] = raw_input("User input {0}".format(i+1))
    else:
        break

for j, var_list in enumerate(var):
    print(str(j+1) + ". " + ", ".join(var_list) + ".")

我假设您想在没有为事件编号输入任何值时中断。 对于稍后要打印的输出,您需要将它们保存在列表中。试试看。

list = []

while True:     
    eventNub= raw_input("Enter event: ")
    if len(eventNub) < 1:
        break
    else:
        var1 = raw_input("User input 1: ")
        var2 = raw_input("User input 2: ")
        var3 = raw_input("User Input 3: ")
        var4 = raw_input("User input 4: ")

    list.append({'event':eventNub,'v1':var1,'v2':var2,'v3':var3,'v4':var4})

for each in list:
    print each['event']+'.', each['v1']+',', each['v2']+',', each['v3']+',', each['v4']

输出将如下所示:

我想我有更简单的解决方案来解决您的问题。希望你喜欢

user_input = []

event_continue= True;
while event_continue:     
    eventNub= raw_input("Enter event Number: ")
    if len(eventNub)==0:
        event_continue = False
    else:
        var1 = raw_input("User input 1: ")
        var2 = raw_input("User input 2: ")
        var3 = raw_input("User Input 3: ")
        var4 = raw_input("User input 4: ")
        user_input.append(eventNub+"."+var1+","+var2+","+var3+","+var4)

for line in user_input:
    print line