我正在嘗試創建一個混亂的單詞,但是在運行代碼時沒有顯示正確數量的字母。僅顯示 1 個字母,如果用戶實際輸入正確答案,則代碼僅將其視為錯誤答案。有沒有辦法解決這個問題?謝謝!
import tkinter
from tkinter import *
import random
from tkinter import messagebox
from random import shuffle
answer =["python", "youtube","google","samosa","india","tea","coffee"]
words= []
for i in answer:
words= list(i)
shuffle(words)
words.append(words)
num= random.randint(0,len(words))
def initial():
global words,answer,num
lbl1.configure(text=words[num])
def ans_check():
print(" ")
global words,num,answer
user_input= e1.get()
if user_input==answer[num]:
messagebox.showinfo("Success","yup, this is right!")
Reset()
else:
messagebox.showinfo("Error","Make sure it's without capitals")
e1.delete(0,END)
def Reset():
global words,num,answer
num= random.randint(0,len(words))
lbl1.configure(text=words[num])
e1.delete(0,END)
root= Tk()
root.geometry('300x300')
lbl1= Label(root,font='times 20')
lbl1.pack(pady=30,ipady=10,ipadx=10)
answer12= StringVar()
e1= Entry(root,textvariable=answer)
e1.pack(ipady=5,ipadx=5)
bt1= Button(root,text='Check',width=20,command=ans_check)
bt1.pack(pady=40)
bt2= Button(root,text='Reset',width=20,command=Reset)
bt2.pack()
initial()
root.mainloop()
uj5u.com熱心網友回復:
主啊,這有多少問題:)。不用擔心!
首先,您最大的問題是您創建了一個串列words,稱為包含一個隨機單詞串列。words然后創建名為which stores的相同變數list(word)。這完全弄亂了你的程式。
此外,如果您的用戶不正確,請告訴他們他們弄錯了。不要顯示大寫錯誤。為避免這種情況,您可以使用.lower()
代碼
import tkinter
from tkinter import *
import random
from tkinter import messagebox
from random import shuffle
answer =["python", "youtube","google","samosa","india","tea","coffee"]
words_lst= []
for i in answer:
word = list(i)
shuffle(word)
words_lst.append(word)
num= random.randint(0,len(words_lst))
def initial():
global words,answer,num
lbl1.configure(text=answer[num])
def ans_check():
print(" ")
global words,num,answer
user_input= e1.get()
if user_input.lower()==answer[num]:
messagebox.showinfo("Success","yup, this is right!")
Reset()
else:
messagebox.showinfo("Error","Incorrect")
e1.delete(0,END)
def Reset():
global words,num,answer
num= random.randint(0,len(words_lst))
lbl1.configure(text=words_lst[num])
e1.delete(0,END)
root= Tk()
root.geometry('300x300')
lbl1= Label(root,font='times 20')
lbl1.pack(pady=30,ipady=10,ipadx=10)
answer12= StringVar()
e1= Entry(root,textvariable=answer)
e1.pack(ipady=5,ipadx=5)
bt1= Button(root,text='Check',width=20,command=ans_check)
bt1.pack(pady=40)
bt2= Button(root,text='Reset',width=20,command=Reset)
bt2.pack()
initial()
root.mainloop()
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/491107.html
上一篇:Magento2索引
