簡體   English   中英

如何在 python tkinter 中的兩個輸入字段編號之間創建一個隨機數?

[英]How can I create a random number between two entry field numbers in python tkinter?

好的,這是另一個愚蠢的問題:我有兩個輸入字段,想法是將一個隨機數插入到第三個輸入字段中。 我希望隨機數來自兩個輸入字段的值之間。 例如:我在第一個輸入字段中輸入數字 1,在第二個輸入字段中輸入數字 10。 當我按下按鈕時,我希望它從 1 到 10 之間創建隨機數並將其插入到第三個字段中。 (如果這令人困惑,我很抱歉,我盡力解釋了)這是一些代碼:

import tkinter
from tkinter import Entry, END, E, W
from random import randint, randrange

root = tkinter.Tk()
root.title('Number Generator')

e1 = Entry(root, font=("LEMON MILK Bold", 24), width=10, borderwidth=10)
e1.grid(row=0, column=0, columnspan=3)

e2 = Entry(root, font=("LEMON MILK Bold", 24), width=5, borderwidth=10)
e2.grid(row=1, column=0, columnspan=2, sticky=W)

e3 = Entry(root, font=("LEMON MILK Bold", 24), width=5, borderwidth=10)
e3.grid(row=1, column=1, columnspan=2, sticky=E)

#Definitions

def button_generate():
    e1.delete(0, END)
    e1.insert(randint(e2.get, e3.get))

def button_clear():
    e1.delete(0, END)

#Buttons

button_generate = tkinter.Button(root, text="Random number", font=("LEMON MILK Bold", 28), padx=20, 
pady=10, command=button_generate)
button_clear = tkinter.Button(root, text="Erase", font=("LEMON MILK Bold", 14), padx=22, pady=5, 
command=button_clear)
button_exit = tkinter.Button(root, text="Exit", font=("LEMON MILK Bold", 14), padx=15, pady=5, 
command=root.quit)

#Grid

button_generate.grid(row=2, column=0, columnspan=3)
button_clear.grid(row=3, column=1)
button_exit.grid(row=3, column=2, sticky=E)

root.mainloop()

您的問題與insert方法有關。 該方法的第一個參數是index ,您應該提供一個。 第二個參數是您要輸入的字符串。 該字符串由randint方法生成。 此方法要求輸入兩個整數。 您應該從e2e3獲取值並將它們轉換為整數。

button_generate函數應該是:

  def button_generate():
      e1.delete(0, END)
      e1.insert(0,randint(int(e2.get()), int(e3.get())))
  1. e2.get是一種方法,你不會在 entry.像 jasonharper 在評論中指出的那樣獲取內容,它應該是e2.get()
  2. 此外, entry.get()將返回一個字符串而不是一個數字。 要通過random.randint生成隨機數,您需要將其轉換為數字。
  3. entry.insert()需要一個索引參數,你沒有傳遞它,所以函數應該更改為:
def button_generate():
    e1.delete(0, END)
    e1.insert(END, randint(int(e2.get()), int(e3.get())))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM