随机选择相同的结果

2024-09-29 23:17:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是Python及其标准库函数random.choice。我只是想知道,有没有办法不得到相同的结果,例如不得到"Strawberry"两次。我尝试了很多方法,但一无所获。在

我已经包括我的代码:

#Random selection for for doughnuts
import random
from tkinter import *

Doughnuts = ['Strawberry', 'Apple Cinnamon',
             'Blueberry Blaster', 'Custard', 'Sugar', ...]

def RandomDough():
    for i in range(6):
        print (random.choice(Doughnuts))

app=Tk()
app.title('Your tkinter app')
app.geometry('450x100+200+100')
b1=Button(app, text='Random Special', width = 20, command=RandomDough)
b1.pack(side='right')
app.mainloop()

我甚至尝试过使用random.sample,但我无法思考如何将int数字转换为实际单词aka "Strawberry"

^{pr2}$

Tags: 方法importappfor标准tkinterrandomb1
2条回答

只需将Doughnuts列表传递给random.sample();不要使用索引:

Doughnuts = ['Strawberry ','Apple Cinnamon ','Blueberry Blaster ','Custard ','Sugar']
for choice in random.sample(Doughnuts, 6):
    print(choice)

洗牌,然后使用或迭代一个切片…:

from random import shuffle

Doughnuts = ['Strawberry ','Apple Cinnamon ','Blueberry Blaster ','Custard ','Sugar']
shuffle(Doughnuts)
for doughnut in Doughnuts[:6]:
    print doughnut # or whatever

这可以调整为一次选择一个独特的甜甜圈,例如:

^{pr2}$

相关问题 更多 >

    热门问题