【发布时间】:2019-05-31 19:26:10
【问题描述】:
我将“显示”参数设置为“*”,这样“输入”字段就不会显示输入的内容。我遇到的问题是,它暗示了单词的实际长度。因此,例如,如果我输入单词“blue”,它将显示为“****”,这暗示它是一个 4 个字符长的单词。此外,解决方案代码需要与填写上述字段的随机函数一起使用
我该如何解决这个简单的方法?
编辑:将事物放入上下文中,这是我制作的应用程序的代码。
import random
from tkinter import *
def num_guess():
try:
int(num_input.get())
except ValueError:
Ans = "You must enter a number in your number field!\n"
result_field.insert(INSERT, Ans)
if int(num_input.get()) == int(hidden_num):
Ans = "Congrats you guessed correctly!\n"
result_field.insert(INSERT, Ans)
secret_num.delete(0, END)
secret_num.insert(END, hidden_num)
elif int(num_input.get()) in range(int(hidden_num) - 2, int(hidden_num) + 3):
Ans = "You are very close to secret number!..." + str(num_input.get()) + "\n"
result_field.insert(INSERT, Ans)
elif int(num_input.get()) in range(int(hidden_num) - 5, int(hidden_num) + 6):
Ans = "You are close to secret number!..." + str(num_input.get()) + "\n"
result_field.insert(INSERT, Ans)
elif int(num_input.get()) in range(int(hidden_num) - 10, int(hidden_num) + 11):
Ans = "You are relatively close to secret number!..." + str(num_input.get()) + "\n"
result_field.insert(INSERT, Ans)
elif int(num_input.get()) in range(int(hidden_num) - 15, int(hidden_num) + 16):
Ans = "You are far from secret number!..." + str(num_input.get()) + "\n"
result_field.insert(INSERT, Ans)
else:
Ans = "You are very far from secret number!..." + str(num_input.get()) + "\n"
result_field.insert(INSERT, Ans)
def start_new():
global hidden_num
result_field.delete('1.0', END)
secret_num.delete(0, END)
secret_num.insert(END, random.randint(1,100))
hidden_num = secret_num.get()
secret_num.delete(0, END)
secret_num.insert(END, "***")
result_field.insert(INSERT, "Now enter your number as a guess!\n")
def hide_num():
global hidden_num
try:
int(secret_num.get())
hidden_num = secret_num.get()
secret_num.delete(0, END)
secret_num.insert(END, "***")
result_field.insert(INSERT, "Now enter your number as a guess!\n")
except ValueError:
Ans = "You must enter a number in secret number field!\n"
result_field.insert(INSERT, Ans)
hidden_num = 0
window = Tk()
window.title('Guess the Number!')
Label(window, text = "").grid(row=0)
Label(window, text = "Secret number:").grid(row=7, column=1, padx=8)
Label(window, text = "Enter your number:").grid(row=8, column=1, padx=8)
Label(window, text = "").grid(row=10)
#find textbox code!
result_field = Text(window, width=54, height=18)
result_field.grid(row=1, column=1, columnspan=6, rowspan=6, padx=8)
result_field.insert(INSERT, "Click 'Start new' to start a new game!\n")
sb1 = Scrollbar(window)
sb1.grid(row=1, column=7, rowspan=6, sticky = 'NS')
result_field.configure(yscrollcommand=sb1.set)
sb1.configure(command = result_field.yview)
secret_num = Entry(window, width=6)
secret_num.grid(row=7, column=2)
num_input = Entry(window, width=6)
num_input.grid(row=8, column=2)
b1 = Button(window, text = "Take a guess!", command=num_guess, width=12)
b1.grid(row=9, column=1, pady=8, padx=8)
b2 = Button(window, text = "Start new", command=start_new, width=12)
b2.grid(row=9, column=2, pady=8, padx=8)
b3 = Button(window, text = "Quit", command=window.destroy, width=12)
b3.grid(row=9, column=3, pady=8, padx=8)
b4 = Button(window, text = "Hide number", command=hide_num, width=12)
b4.grid(row=7, column=3, sticky = 'W')
window.mainloop()
【问题讨论】:
标签: python tkinter passwords tkinter-entry