社区首页 >问答首页 >在Python中,如何在同一变量上每次获得不同的随机数?问在Python中,如何在同一变量上每次获得不同的随机数?ENStack Overflow用户提问于 2021-02-12 15:33:17回答 2查看 57关注 0票数 2代码如下:
代码语言:javascript复制import random
cards_numbers = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']
card_color = ["red", "yellow", "blue", "green"]
other_cards = ["reverse", "+2", "+4"]
while True:
random_numbers = random.choice(cards_numbers)
random_colors = random.choice(card_color)
random_cards = random.choice(other_cards)
print(f"These are your cards:\n{random_numbers} in {random_colors}\n{random_numbers} in {random_colors}")
break问题是,当我打印这段代码时,会得到以下输出:
代码语言:javascript复制These are your cards:
5 in yellow
5 in yellow因此,这意味着一旦定义了random_numbers和random_colors,它们就会保持不变。我如何才能在相同的变量和相同的print语句中,每次都获得不同的数字和颜色,而不会产生额外的变量?另外,我需要3个以上的组合。我只有两个例子。
variablesrandompython-3.x关注问题分享EN回答 2推荐最新Stack Overflow用户回答已采纳发布于 2021-02-12 16:05:17
将random.choice()看作是一个骰子:每当您掷骰子(或调用函数)时,它都会产生一个值。
将变量random_number和random_color视为您在笔记本上写下的掷骰子的结果。它们不会神奇地改变,除非您显式地清除它们并用新的值替换它们。
(我在原始问题中使用了单数random_number和random_color而不是复数,因为这些变量中只存储了一个值。)
为了多次重复相同的事情,可以使用for循环。(由于break的原因,原始的while循环是多余的,因为它不会循环。)
代码语言:javascript复制import random
cards_numbers = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']
card_color = ["red", "yellow", "blue", "green"]
other_cards = ["reverse", "+2", "+4"]
print(f"These are your cards:")
for _ in range(2):
random_number = random.choice(cards_numbers)
random_color = random.choice(card_color)
print(f"{random_number} in {random_color}")收藏分享票数 1ENStack Overflow用户发布于 2021-02-12 15:37:36
代码语言:javascript复制import random
cards_numbers = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']
card_color = ["red", "yellow", "blue", "green"]
other_cards = ["reverse", "+2", "+4"]
while True:
print(f"These are your cards:\n{random.choice(cards_numbers)} in {random.choice(card_color)}\n{random.choice(cards_numbers)} in {random.choice(card_color)}")
break或者
代码语言:javascript复制import random
cards_numbers = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']
card_color = ["red", "yellow", "blue", "green"]
other_cards = ["reverse", "+2", "+4"]
while True:
random_numbers = random.choice(cards_numbers)
random_colors = random.choice(card_color)
random_cards = random.choice(other_cards)
print(f"These are your cards:\n{random_numbers} in {random_colors}")
random_numbers = random.choice(cards_numbers)
random_colors = random.choice(card_color)
random_cards = random.choice(other_cards)
print(f"{random_numbers} in {random_colors}")
break收藏分享票数 2EN页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持原文链接:https://stackoverflow.com/questions/66167885
复制相关文章