【问题标题】:How to increment a value in a loop如何在循环中增加一个值
【发布时间】:2021-10-01 11:00:02
【问题描述】:

我不确定如何正确编写问题。所以,我的想法是打印从列表中获得的原始随机值。在用户在 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)

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

【问题讨论】:

  • 您每次都在创建新列表。相反,您可以将元素添加到列表或使用 list.extend

标签: python list for-loop while-loop


【解决方案1】:

这是你想要的吗?

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)

【讨论】:

  • 确实有效。虽然,我希望将额外的数字与 random_number (原始列表)分开打印。如First Numbers: [2, 5] Extra Numbers [1, 3]
  • 无论如何,谢谢您的回答。这也很高兴知道。
  • 欢迎。在上面添加一个编辑。
  • 再次感谢您的回答。我不得不接受另一个答案,因为它是我想要的。如果我也可以选择你的,我会这样做的。
【解决方案2】:

我不确定我是否理解了这个问题。在这里,我添加了列表 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)

结果:

按[1]继续[2]退出:1

第一个数字:[3] 额外数字:3

按[1]继续[2]退出:1

第一个数字:[3, 4] 额外数字:4

按[1]继续[2]退出:1

第一个数字:[3, 4, 4] 额外数字:4

按[1]继续[2]退出:1

第一个数字:[3, 4, 4, 1] 额外数字:1

按[1]继续[2]退出:1

第一个数字:[3, 4, 4, 1, 2] 额外数字:2

按[1]继续[2]退出:1

第一个数字:[3, 4, 4, 1, 2, 3] 额外数字:3

按[1]继续[2]退出:1

第一个数字:[3, 4, 4, 1, 2, 3, 3] 额外数字:3

按[1]继续[2]退出:1

第一个数字:[3, 4, 4, 1, 2, 3, 3, 3] 额外数字:3

按[1]继续[2]退出:1

第一个数字:[3, 4, 4, 1, 2, 3, 3, 3, 4] 额外数字:4

按[1]继续[2]退出:1

第一个数字:[3, 4, 4, 1, 2, 3, 3, 3, 4, 4] 额外数字:4

按[1]继续[2]退出:2

【讨论】:

  • 是的,就是这样。我忘记了我可以有一个空列表并将其附加到该列表中。
猜你喜欢
  • 2014-12-12
  • 1970-01-01
  • 2017-09-22
  • 2019-08-24
  • 2022-01-22
  • 1970-01-01
  • 1970-01-01
  • 2021-12-27
  • 1970-01-01
相关资源
最近更新 更多