创建一个没有无限循环的程序

Create a program without infinite loop

我必须创建一个程序,按照等式将 1 到 n 的所有数字相加。然后我想在 total_bis 列表中添加这些迭代的总数,并再次询问用户迭代次数并重新计算它们。没有进入无限循环(这就是我正在发生的事情)。当用户下达完成命令时,程序结束。

谢谢。

n_iteraciones = int(input('Especifique el numero de iteraciones:'))

total_bis = []
total = 0
for elem in range(1, n_iteraciones + 1):
    total += elem * (elem +1) /2
    total_bis.append(total)
    
print(f'total: {total} para {n_iteraciones} iteraciones')

while True:
    n_iteraciones != 0
    print(n_iteraciones)
    
    if n_iteraciones == 0:
        break

n = len(total_bis)
print(n)

我认为这就是你想要实现的:

while True:

    total_bis = []
    total = 0
    n_iteraciones = int(input('Especifique el numero de iteraciones:'))

    if n_iteraciones != 0:
        for elem in range(1, n_iteraciones + 1):
            total += elem * (elem +1) /2
            total_bis.append(total)
        print(f'total: {total} para {n_iteraciones} iteraciones')
    else:
        break

您可以在循环中请求用户输入。如果用户改为选择 q,则循环中断:

while True:
    n_iteraciones = input("Especifique el numero de iteraciones (pulse q para salir): ")
    if n_iteraciones == "q":
        break

    total_bis = []
    total = 0
    for elem in range(1, int(n_iteraciones) + 1):
        total += elem * (elem + 1) / 2
        total_bis.append(total)

    print(f"total: {total} para {n_iteraciones} iteraciones")