#python #user-interface
#python #пользовательский интерфейс
Вопрос:
новичок в программировании исправил отступы в коде, но как только я запускаю код, он отображает игру в угадайку, но как только вы вводите число, программа ничего не делает
попытался добавить команду in, но как только я ввожу, кнопка исчезает
import random
from breezypythongui import EasyFrame
class GuessingGame(EasyFrame):
"""playing a guessing game with a user."""
def __init__(self):
"""setting up the window,widgets and data."""
EasyFrame.__init__(self, title = "Guessing Game")
# Initialize the instance variables for the data
self.myNumber = random.randint(1,100)
self.count = 0
# Create and add widgets to the window
greeting = "Guess a number between 1 and 100."
self.hintLabel = self.addLabel(text = greeting,
row = 0, column = 0,
sticky = "NSEW",
columnspan = 2)
self.addLabel(text = "Your guess", row = 1, column = 0)
self.guessField = self.addIntegerField(0, row = 1, column = 1)
# Buttons have no command attributes yet
self.nextButton = self.addButton(text = "Next", row = 2,column = 0)
self.newButton = self.addButton(text = "New game", row = 2,column = 1)
def nextGuess():
"""Processes the user's next guess."""
self.count = 1
guess = self.guessField.getNumber()
if guess == self.myNumber:
self.hintLabel["text"] = "You've guessed it in " str(self.count) "attempts!"
self.nextButton["state"] = "disabled"
elif guess < self.myNumber:
self.hintLabel["text"] = "Sorry, too small!"
else:
self.hintLabel["text"] = "Sorry, too large!"
def newGame():
"""Resets the data and GUI to their original states."""
self.myNumber = random.randint(1, 100)
self.count = 0
greeting = "Guess a number between 1 and 100."
self.hintLabel["text"] = "greeting"
self.guessField.setNumber(0)
self.nextButton["state"] = "normal"
def main():
"""Instantiate and pop up the window."""
GuessingGame().mainloop()
if __name__== "__main__":
main()
предположим, чтобы дать мне, если число, которое вводится в high или low
Ответ №1:
Насколько я могу судить, программа ничего не делает, потому что вы не назначили a command
ни одному из своих виджетов. Глядя на пример здесь (на вкладке учебник), они ставят:
self.addButton(text = "Compute", row = 3, column = 0, columnspan = 2, command = self.computeTax)
Где command
бит указывает, какая функция должна запускаться при нажатии кнопки.