如何在循环中递增一个值

How to increment a value in a loop

我不确定如何正确地写出问题。所以,我的想法是打印我从列表中得到的原始随机值。用户在 while 循环中输入 1 后,它会从列表中创建一个新的随机数。每次用户输入 1 作为输入时,它都会不断创建一个新的随机数,并将之前的随机数一起打印。

import random

numbers = [1, 2, 3, 4, 5]
random_number = [random.choice(numbers) for _ in range(2)]
print(random_number)

while True:
    choice = int(input("Press [1] to continue [2] to exit: "))
    if choice == 2:
        break

    elif choice == 1:
        extra_number = [random.choice(numbers) for _ in range(1)]
        for i in extra_number:
            print("\nFirst Numbers:", random_number, "Extra Numbers:", i)

此循环将从列表中return随机数。但是,每次用户输入 1 时,它都会用新的替换旧的。我仍想保留 return 那些旧值,并在每次用户输入 1 时打印一个新值。所以,我认为增量可能会起作用,但我不知道如何让它起作用。我也尝试了 enumeraterange(len()),发现它有点难以理解。如果有人可以帮助我或者有更简单的方法,我将不胜感激。

这是你想要的吗?

import random

numbers = [1, 2, 3, 4, 5]
random_number = [random.choice(numbers) for _ in range(2)]
extra_numbers = []
print(random_number)

while True:
    choice = int(input("Press [1] to continue [2] to exit: "))
    if choice == 2:
        break

    elif choice == 1:
        extra_number = random.choice(numbers)
        extra_numbers.append(extra_number)
        print("\nFirst Numbers:", random_number, "Extra Numbers:", extra_numbers)

我不确定我是否理解了问题。在这里,我添加了列表 old_numbers,您可以在其中保存先前的值。

import random

numbers = [1, 2, 3, 4, 5]
old_numbers=[]


while True:
    choice = int(input("Press [1] to continue [2] to exit: "))
    if choice == 2:
        break

    elif choice == 1:
        extra_number = random.choice(numbers)
        old_numbers.append(extra_number)
        print("\nFirst Numbers:", old_numbers, "Extra Numbers:", extra_number)

结果:

Press [1] to continue [2] to exit: 1

First Numbers: [3] Extra Numbers: 3

Press [1] to continue [2] to exit: 1

First Numbers: [3, 4] Extra Numbers: 4

Press [1] to continue [2] to exit: 1

First Numbers: [3, 4, 4] Extra Numbers: 4

Press [1] to continue [2] to exit: 1

First Numbers: [3, 4, 4, 1] Extra Numbers: 1

Press [1] to continue [2] to exit: 1

First Numbers: [3, 4, 4, 1, 2] Extra Numbers: 2

Press [1] to continue [2] to exit: 1

First Numbers: [3, 4, 4, 1, 2, 3] Extra Numbers: 3

Press [1] to continue [2] to exit: 1

First Numbers: [3, 4, 4, 1, 2, 3, 3] Extra Numbers: 3

Press [1] to continue [2] to exit: 1

First Numbers: [3, 4, 4, 1, 2, 3, 3, 3] Extra Numbers: 3

Press [1] to continue [2] to exit: 1

First Numbers: [3, 4, 4, 1, 2, 3, 3, 3, 4] Extra Numbers: 4

Press [1] to continue [2] to exit: 1

First Numbers: [3, 4, 4, 1, 2, 3, 3, 3, 4, 4] Extra Numbers: 4

Press [1] to continue [2] to exit: 2