Waarom?

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Waarom?

Marc Stevens
Hoi met Marc,
 
Bij het onderstaande programmaatje geeft python een foutmelding bij de laatste z=z+1  maar waarom?
Ik heb allerlei varianten bedacht, maar dacht dat dit het beste was en dat dit moet werken.
 
 
 
 
 
import pygame
from pygame.locals import *
 
pygame.init()
screen = pygame.display.set_mode((1200,1000))
lucifer = pygame.image.load("lucifer.png")
plofkip=pygame.image.load("plofkip.png")
aangebrandekip=pygame.image.load("aangebrande-kip.png")
kerstdiner=pygame.image.load("kerstdiner.png")
x = y = z = 0
   
running = True
while running:
    for event in pygame.event.get():
        if event.type == QUIT:
            running = False
   
    screen.fill((0,0,0))
    screen.blit(plofkip,(100,100))
    screen.blit(plofkip,(800,100))
    screen.blit(plofkip,(400,600))
    while z<=3:
        mouse=pygame.mouse.get_pos()
        screen.blit(lucifer, (mouse))
        if x<100 and y<100:
            screen.blit(aangebrandekip,(100,100))
            z=z+1
        elif x>800 and y<100:
            screen.blit(aangebrandekip,(800,100))
            z=z+1
        elif 350<x<450 and 550<y<650:
            screen.blit(aangebrandekip,(400,600)
            z=z+1
        else:
                        screen.blit(kerstdiner,(0,0))
    pygame.display.update()
 
pygame.quit()

_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl
Reply | Threaded
Open this post in threaded view
|

Re: Waarom?

Ivo van der Wijk-3

Je bent een ) vergeten op de regel ervoor.

Groet,

Ivo

On 25 Nov 2014 08:25, "Marc Stevens" <[hidden email]> wrote:
Hoi met Marc,
 
Bij het onderstaande programmaatje geeft python een foutmelding bij de laatste z=z+1  maar waarom?
Ik heb allerlei varianten bedacht, maar dacht dat dit het beste was en dat dit moet werken.
 
 
 
 
 
import pygame
from pygame.locals import *
 
pygame.init()
screen = pygame.display.set_mode((1200,1000))
lucifer = pygame.image.load("lucifer.png")
plofkip=pygame.image.load("plofkip.png")
aangebrandekip=pygame.image.load("aangebrande-kip.png")
kerstdiner=pygame.image.load("kerstdiner.png")
x = y = z = 0
   
running = True
while running:
    for event in pygame.event.get():
        if event.type == QUIT:
            running = False
   
    screen.fill((0,0,0))
    screen.blit(plofkip,(100,100))
    screen.blit(plofkip,(800,100))
    screen.blit(plofkip,(400,600))
    while z<=3:
        mouse=pygame.mouse.get_pos()
        screen.blit(lucifer, (mouse))
        if x<100 and y<100:
            screen.blit(aangebrandekip,(100,100))
            z=z+1
        elif x>800 and y<100:
            screen.blit(aangebrandekip,(800,100))
            z=z+1
        elif 350<x<450 and 550<y<650:
            screen.blit(aangebrandekip,(400,600)
            z=z+1
        else:
                        screen.blit(kerstdiner,(0,0))
    pygame.display.update()
 
pygame.quit()

_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl


_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl
Reply | Threaded
Open this post in threaded view
|

Re: Waarom?

Reinout van Rees
In reply to this post by Marc Stevens


On 25-11-14 08:25, Marc Stevens wrote:
> Bij het onderstaande programmaatje geeft python een foutmelding

Ivo heeft het antwoord al gegeven.

Los daarvan: wat de volgende keer ons het fout-zoeken zou verhelpen is
het ook doorsturen van de foutmelding.

Die van python zijn normaliter redelijk behulpzaam bij het opsporen van
de fout.



Reinout

--
Reinout van Rees                          http://reinout.vanrees.org/
[hidden email]                   http://www.nelen-schuurmans.nl/
"Learning history by destroying artifacts is a time-honored atrocity"

_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl
Reply | Threaded
Open this post in threaded view
|

Re: Waarom?

Guido Wesdorp-3
Ja wilde nog zeggen dat de exceptie in dit geval niet _heel_ duidelijk is, maar toch wel een goeie hint geeft over wat er fout zit als je weet hoe je hem moet interpreteren:

  File "/home/johnny/temp/bla.py", line 33
    z=z+1
    ^
SyntaxError: invalid syntax

Aangezien het vrij duidelijk is dat er in die specifieke zin geen SyntaxError zit, kun je er vanuit gaan dat het probleem er vlak voor zit, Python leest files van boven naar beneden en geeft een SyntaxError als de interpreter (die de files leest) een fout tegenkomt, dus als die fout niet in de getoonde regel zit zit 'ie waarschijnlijk in de regel(s) ervoor. Dan goed die regel(s) lezen en meestal vind je het vanzelf. Tip dus: lees altijd goed de traceback, meestal zijn die vrij duidelijk als je er even de tijd voor neemt ze uit te pluizen en als je er een beetje goed in bent wordt debuggen een stuk makkelijker.

Cheers,

Guido

2014-11-25 10:14 GMT+01:00 Reinout van Rees <[hidden email]>:


On 25-11-14 08:25, Marc Stevens wrote:
Bij het onderstaande programmaatje geeft python een foutmelding

Ivo heeft het antwoord al gegeven.

Los daarvan: wat de volgende keer ons het fout-zoeken zou verhelpen is het ook doorsturen van de foutmelding.

Die van python zijn normaliter redelijk behulpzaam bij het opsporen van de fout.



Reinout

--
Reinout van Rees                          http://reinout.vanrees.org/
[hidden email]                   http://www.nelen-schuurmans.nl/
"Learning history by destroying artifacts is a time-honored atrocity"


_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl


_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl