亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我是 python 的初學者,我想用 tkinter 制作一個缺席的數字隊友隨機化器程序

我是 python 的初學者,我想用 tkinter 制作一個缺席的數字隊友隨機化器程序

慕的地6264312 2023-07-18 10:10:18
import randomfrom tkinter import *win = Tk()win.geometry("700x600")win.title("pengocok keberuntungan")isi = Entry(win,width=25,font =("arial",25))isi.pack()isi2 = Text(win,width=56,height=25,font=("arial",10))isi2.pack()mylist = (list(range(1,35)))b =  random.sample(mylist,34)print (b)def acak():    for i in b:        pass        isi.delete(0,END)        isi.insert(END,i)        isi2.insert(END,isi.get()+"\n")acak_tombol = Button (win,text = "di acak",command =acak)acak_tombol.pack(pady=20)win.mainloop()我的問題是,當我點擊按鈕時,它已經立即隨機化了我所有的 34 個朋友。我想要的是,每次我單擊“acak”按鈕時,我的 1 個隨機同學就會被插入到文本框中,并且在我所有 34 個朋友都獲得他們的隊友之前不能加倍。順便問一下,我如何將那個缺席的號碼與我的 34 位同學聯系起來?所以當按下“acak”按鈕時會彈出的是我朋友的名字,并且缺失的號碼被一一插入到文本框中,而不是像我的問題一樣立即出現。
查看完整描述

2 回答

?
慕姐4208626

TA貢獻1852條經驗 獲得超7個贊

您可以先創建一個隨機列表,然后在單擊按鈕時通過索引逐一引用它。這樣相同的數字就不會重復。


請參考下面的代碼。


import random


from tkinter import *


win = Tk()

win.geometry("700x600")

win.title("pengocok keberuntungan")


isi = Entry(win,width=25,font =("arial",25))

isi.pack()


isi2 = Text(win,width=56,height=25,font=("arial",10))

isi2.pack()


mylist = (list(range(1,35)))

b =  random.sample(mylist,34)

i=0

print (b)


def acak():

    global b

    global i

    if i<len(b):

        isi.delete(0,END)

        isi.insert(END,b[i])

        i+=1

        isi2.insert(END,isi.get()+"\n")



acak_tombol = Button (win,text = "di acak",command =acak)

acak_tombol.pack(pady=20)


win.mainloop()


查看完整回答
反對 回復 2023-07-18
?
蝴蝶刀刀

TA貢獻1801條經驗 獲得超8個贊

將行移至b = random.sample(mylist, 34)函數中。每次調用該函數時都會執行它。



查看完整回答
反對 回復 2023-07-18
  • 2 回答
  • 0 關注
  • 161 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號