簡體   English   中英

一旦按下了錯誤的鍵,如何阻止代碼塊發生

[英]How to stop a block of code from happening once an incorrect key is pressed

因此,如果用戶正確輸入屏幕上的內容,我將獲得此代碼塊。

words = ["Games","Development","Keyboard","Speed","Typer","Anything","Alpha","Zealous","Accurate","Basics","Shortcut","Purpose","Window","Counter","Fortress","Modification","Computer","Science","History","Football","Basketball","Solid","Phantom","Battlefield","Advanced","Warfare","Download","Upload","Antidisestablishmentarianism","Supercalifragilisticexpialidocious","Discomobobulation","Liberated","Assassin","Brotherhood","Revelation","Unity","Syndicate","Victory"]
wordcount = 0
maxwords = 12        
skips = 0

def nextWord():
        global score
        global wordcount
        global skips
        global maxwords
        global name
        global high_score

        entry.focus_set()

        if entry.get().lower() == words[1].lower():
            score += 1
            wordcount += 1
            wordcounter.config(text="Words: " + str(wordcount))

而且我想知道如果他們不輸入屏幕上的內容,如何停止運行此代碼塊:

        for i in range(maxwords):
            entry.delete(0, tkinter.END)
            random.shuffle(words)
            label.config(text=str(words[1]))
            scoreLabel.config(text="Time: " + str(score)+ "s")

即使他們由於以下原因未正確輸入,它也會繼續:

def startGame(event):
    nextWord()

root.bind("<Return>", startGame)

我目前有這個:

    elif entry.get().lower() != words[1].lower():
            wronglabel.config(text="WRONG!")
            time.sleep(0.6)
            wronglabel.delete(0, tkinter.END)

目前這是做

wronglabel = tkinter.Label(root, text="", font =("Helvetica, 14"))
wronglabel.pack()

說錯了,但我想知道如何使其不會隨機洗牌,如果用戶輸入的單詞不正確,則從列表中獲取項目。 謝謝。

總之,它使得:(僅發布相關代碼):

#Add words to this list to include them in the game
words = ["Games","Development","Keyboard","Speed","Typer","Anything","Alpha","Zealous","Accurate","Basics","Shortcut","Purpose","Window","Counter","Fortress","Modification","Computer","Science","History","Football","Basketball","Solid","Phantom","Battlefield","Advanced","Warfare","Download","Upload","Antidisestablishmentarianism","Supercalifragilisticexpialidocious","Discombobulation","Liberated","Assassin","Brotherhood","Revelation","Unity","Syndicate","Victory"]
wordcount = 0
maxwords = [len(words)]       

def nextWord():
        global score
        global wordcount
        global maxwords
        global name
        global high_score

        entry.focus_set()

        if entry.get().lower() == words[1].lower():
            score += 1
            wordcount += 1
            wordcounter.config(text="Words: " + str(wordcount))

        elif entry.get().lower() != words[1].lower():
                wronglabel.config(text="WRONG!")

        for i in words[len(maxwords)]:
            entry.delete(0, tkinter.END)
            random.shuffle(words)
            label.config(text=str(words[1]))
            scoreLabel.config(text="Time: " + str(score)+ "s")

def startGame(event):
    nextWord()

wronglabel = tkinter.Label(root, text="", font =("Helvetica, 14"))
wronglabel.pack()

(我已經編輯了代碼中的一些小問題,以解決另一個問題)

我可能只是無法正確理解這一點,但是您不能像這樣在if語句內移動for循環嗎?

if entry.get().lower() == words[1].lower():
    score += 1
    wordcount += 1
    wordcounter.config(text="Words: " + str(wordcount))

    for i in words[len(maxwords)]:
        entry.delete(0, tkinter.END)
        random.shuffle(words)
        label.config(text=str(words[1]))
        scoreLabel.config(text="Time: " + str(score)+ "s")

暫無
暫無

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

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