[PYTHON] Je suis débutant, puis-je emprunter de la sagesse?

Je suis nouveau dans la programmation. C'est une affaire très personnelle, mais je ne peux pas le faire, alors pourriez-vous me prêter de la sagesse? Après avoir exécuté le programme suivant et joué au jeu, l'écran ci-dessous s'affiche. Il dit que WPM était de 0,0, ce qui devrait être de 30,40 pour moi. Pourriez-vous s'il vous plaît me dire ce qui ne va pas et où le réparer?

filename.rb


from tkinter import *
from tkinter.ttk import *
import random

window = Tk()
main_frame = Frame(window)
canvas = Canvas(window, width="400", height="300", background="#BDFFBA")
main_frame.grid(row=0, column=0)
time = 30
number_of_entries = 0
misstakes = 0
instruction = ""
words = open('words.txt')
word_list = words.read().split(", ")


def new_word():
   global word_list
   global number_of_entries
   global misstakes

   if time > 0:
       user_entry.focus_set()

       user_entry.delete(0, END)

       random.shuffle(word_list)

       typing_word.config(text=word_list[0])

       number_of_entries_label.configure(text="number of entries: " + str(number_of_entries))

       if user_entry.get().lower() == word_list[0]:
         number_of_entries += 1
       elif user_entry.get().lower() != word_list[0]:
         misstakes += 1




def menu():
 title_1.grid(row=0, column=0, pady=50)
 play_button.grid(row=1, column=0, padx=100)
 instruction_button.grid(row=2, column=0, pady=20)
 exit_button.grid(row=3, column=0, pady=20)
 time_label.grid_forget()
 user_entry.grid_forget()
 typing_word.grid_forget()

def start_game(event):
    if time == 30:
       time_change()
    new_word()

def time_change():
    global time
    if time > 0:
        time -= 1
        time_label.config(text="Time: " + str(time))
    time_label.after(1000, time_change)
    if time == 0:
        window.unbind("<Return>")
        result_screen()


def play_pressed():
   time_label.grid(row=0, column=0, pady=10)
   user_entry.grid(row=2, column=0, pady=20)
   typing_word.grid(row=1, column=0, pady=10)
   window.bind( "<Return>", start_game)
   title_1.grid_forget()
   play_button.grid_forget()
   instruction_button.grid_forget()
   exit_button.grid_forget()


def instruction_pressed():
    sub_win = Toplevel()
    label1 = Label(sub_win, text=instruction)
    label1.pack()
    label2 = Label(sub_win, text=instruction)
    label2.pack()

def restart_game_button_pressed():
    global number_of_entries
    global time
    number_of_entries = 0
    time = 30
    play_pressed()

def result_screen():
    restart_game_button.grid(pady=100, padx=100)
    result_label.grid()
    user_entry.grid_forget()
    time_label.grid_forget()
    typing_word.grid_forget()

characters_entries = number_of_entries * 8
gross_wpm = characters_entries / 0.5
gross_misstakes = misstakes / 0.5
WPM = gross_wpm - gross_misstakes
result = "Your WPM was {}".format(WPM)
result_label = Label(window, text=result)
result_label.configure(font=("Helvetica", 40))

s = Style()
s.configure("TButton", font=('Helvetica', 30))

title_1 = Label(main_frame, text="Prototype")
title_1.configure(font=("Helvetica", 44))

time_label = Label(window, text="Time: " + str(time))
time_label.configure(font=("Helvetica", 40))

number_of_entries_label = Label(window, text="WPM: " + str(number_of_entries))

user_entry = Entry(window, font=("Comic Sans MS", 20))

typing_word = Label(window, font=("Comic Sans MS", 15))
typing_word.configure(font=("Helvetica", 44))

play_button = Button(main_frame, text="Play", command=play_pressed, style="TButton")
instruction_button = Button(main_frame, text="How to play", command=instruction_pressed)
exit_button = Button(main_frame, text="EXIT", command=window.destroy)
restart_game_button = Button(main_frame, text="Play again", command=restart_game_button_pressed())

main_frame.grid(row=0, column=0)

menu()
window.mainloop()

キャプチャ.PNG

Recommended Posts

Je suis débutant, puis-je emprunter de la sagesse?
Débutant: j'ai créé un lanceur à l'aide d'un dictionnaire
[Je suis un débutant en informatique] J'ai fait de mon mieux pour implémenter Linux sur Windows
En tant que débutant, j'ai cherché dans le répertoire / proc