Raad het nummer foutmelding

Pagina: 1
Acties:
  • 703 views

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

  • pieterbeun
  • Registratie: December 2014
  • Laatst online: 09-09 11:40
Ik krijg bij de volgende code telkens een fout. kan iemand mij helpen? :)

code: c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
from tkinter import *
import tkinter.messagebox
from random import *


def exit_program():
    confirm_exit = tkinter.messagebox.askquestion("Exit", "weet je zeker dat je wilt stoppen? ")
    if confirm_exit == "Ja":
        sys.exit()


class Application:

    def __init__(self, master):
        frame = Frame(master)
        frame.pack()
        
        top_menu = Menu(root)
        root.config(menu=top_menu)
        
        sub_menu = Menu(top_menu)
        top_menu.add_cascade(label="File", menu=sub_menu)
        sub_menu.add_command(label="Exit", command=exit_program)
        
        self.instruct = Label(root, text="""
Gok een nummer tussen 1 en 10
Waag een gok! 
        """)
        self.instruct.pack()
        
        user_guess = Entry(root, width=3)
        user_guess.pack()
        user_guess.insert(0, 0)  
        user_number = int(user_guess.get())  
        submit_button = Button(text="Start", command=lambda: self.button_event(user_number))
        submit_button.pack()

    def button_event(self, user_input):
        
        random_number = randint(1, 10)
        player_guess = user_input
        number_guesses = 0
       
        while True:
            number_guesses += 1
            if player_guess == random_number:
                tkinter.messagebox.askokcancel("Gefeliciteerd, je hebt het geraden in " + str(number_guesses) + " pogingen!")
                break
            elif player_guess > random_number:
                tkinter.messagebox.askokcancel("Nee", "Dit is te hoog")
                break
            else: player_guess < random_number
                tkinter.messagebox.askokcancel("Nee", "Dit is te laag")
                break
        if number_guesses > 10:
            tkinter.messagebox.OK("Sorry, het nummer is: " + str(random_number))

root = Tk()
a = Application(root)
root.mainloop()

Alle reacties


Acties:
  • 0 Henk 'm!

  • Mar.tin
  • Registratie: Januari 2010
  • Laatst online: 17:46
Het zal vast gesneden koek zijn voor sommigen,

Maar iets van achtergrond en je code even tussen
code:
1
[code ] [/ code]
tags is toch wel tof :)

Daarnaast voelt het als huiswerk. :9

Acties:
  • 0 Henk 'm!

  • Reptile209
  • Registratie: Juni 2001
  • Laatst online: 17:09

Reptile209

- gers -

Ik dacht even dat je het nummer van een foutmelding moest raden... 8)7

... en toch komt het daar een beetje op neer! Welke fout krijg je dan precies? In welke regel wordt deze aangegeven? Wat heb je al geprobeerd om het zelf op te lossen?

En verder wat @Mar.tin al zegt: bewerk je bericht even: zet het tussen
[code=<programmeertaal, bijv. php, vba, c, etc>] en [/code]
blokken en vul aan met antwoorden op mijn vragen ;).

Zo scherp als een voetbal!


Acties:
  • 0 Henk 'm!

  • pieterbeun
  • Registratie: December 2014
  • Laatst online: 09-09 11:40
Aangepast :)

Regel 52 'player guess' invalid syntax

[ Voor 18% gewijzigd door pieterbeun op 02-07-2018 11:15 ]


Acties:
  • 0 Henk 'm!

  • Kettrick
  • Registratie: Augustus 2000
  • Laatst online: 13:00

Kettrick

Rantmeister!

pieterbeun schreef op maandag 2 juli 2018 @ 11:15:
Aangepast :)

Regel 52 'player guess' invalid syntax
Is het een elif of een else... else <conditie> werkt niet :>

Acties:
  • 0 Henk 'm!

  • Reptile209
  • Registratie: Juni 2001
  • Laatst online: 17:09

Reptile209

- gers -

pieterbeun schreef op maandag 2 juli 2018 @ 11:15:
Aangepast :)

Regel 52 'player guess' invalid syntax
Mag ik gokken dat dit regel 52 is:
Python:
1
else: player_guess < random_number


Kijk eens goed naar dit statement, en vergelijk dat eens met de elif die wat hoger staat. :)

@Kettrick Niet voorzeggen :)

[ Voor 6% gewijzigd door Reptile209 op 02-07-2018 11:17 ]

Zo scherp als een voetbal!


Acties:
  • 0 Henk 'm!

  • pieterbeun
  • Registratie: December 2014
  • Laatst online: 09-09 11:40
Zo zou het toch moeten??

ben geen expert in python, vind sommige fouten nogal lastig om te fixen :P
code: c
1
2
3
4
5
6
elif player_guess > random_number:
                tkinter.messagebox.askokcancel("Nee", "Dit is te hoog")
                break
            else player_guess < random_number
                tkinter.messagebox.askokcancel("Nee", "Dit is te laag")
                break

[ Voor 9% gewijzigd door pieterbeun op 02-07-2018 11:20 ]


Acties:
  • 0 Henk 'm!

  • jowe
  • Registratie: November 2010
  • Laatst online: 07-10-2024
lees 4.1 is van onderstaande link, staat een mooie tutorial over if statements

https://docs.python.org/3/tutorial/controlflow.html

Acties:
  • 0 Henk 'm!

  • Reptile209
  • Registratie: Juni 2001
  • Laatst online: 17:09

Reptile209

- gers -

Bij een elif wil je een volgende conditie testen op true/false. Vaak eindig je een serie van if en elif's met een 'catch all' statement: in alle andere gevallen. Dus wat heb je dan niet nodig?

Zo scherp als een voetbal!


Acties:
  • 0 Henk 'm!

  • CurlyMo
  • Registratie: Februari 2011
  • Laatst online: 12:01
pieterbeun schreef op maandag 2 juli 2018 @ 11:19:
Zo zou het toch moeten??
Python:
1
2
3
4
5
6
elif player_guess > random_number:
                tkinter.messagebox.askokcancel("Nee", "Dit is te hoog")
                break
            else player_guess < random_number
                tkinter.messagebox.askokcancel("Nee", "Dit is te laag")
                break
FTFY

In een if / elif / else constructie ondervangt de else de gevallen waarbij geen enkele andere voorwaarde in je if / elif van toepassing is. Probleem is echter dat je opnieuw een voorwaarde geeft aan je else, waardoor het theoretisch geen else is, maar een elif. Aangezien python geen theoretische toepassing van else alsof het toch een elif is accepteert krijg je een foutmeling.

Sinds de 2 dagen regel reageer ik hier niet meer


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

pieterbeun schreef op maandag 2 juli 2018 @ 11:19:
ben geen expert in python, vind sommige fouten nogal lastig om te fixen :P
Blijkbaar vind je het ook lastig om goede topics te openen. ;) Het is dus niet de bedoeling dat je alleen even al je code dumpt met de bijna letterlijke melding "het is stuk" en verder niks. Al die vragen die Reptile209 in "Raad het nummer foutmelding" stelde hoorden gewoon in je topicstart te staan, nu is het gewoon "raad mijn probleem" en moeten we daarna nog eens zien het op te lossen voor je ook. Da's ongeveer zo weinig inzet als je kán tonen in een topic en daarom uitermate ongewenst hier. Zie ook De Quickstart.

Aangezien je topic niet aan de quickstart voldoet en je intussen toch al geholpen zou moeten zijn met de reacties die je hebt gehad doe ik je topic dicht. Als je nog meer vragen hebt kan dat in een nieuw topic, maar dan wel graag met een topicstart waar we iets mee kunnen.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.