• De afgelopen dagen zijn er meerdere fora waarop bestaande accounts worden overgenomen door spammers. De gebruikersnamen en wachtwoorden zijn via een hack of een lek via andere sites buitgemaakt. Via have i been pwned? kan je controleren of jouw gegeven ook zijn buitgemaakt. Wijzig bij twijfel jouw wachtwoord of schakel de twee-staps-verificatie in.

python code

Status
Niet open voor verdere reacties.

herman0002

Junior lid
Lid geworden
22 jan 2017
Berichten
76
Waarderingsscore
0
geacht forum,

ik heb met pycharm uit een cursus boek een beweegdriehoek code geprogrammeerd, maar ik krijg hem niet aan de praat, wie kan mijn helpen met deze code:
alvast vriendelijk dank daarvoor
from tkinter import*
tk=Tk()
canvas=Canvas(tk,width=400,height=400)
canvas.pack()
canvas.create_polygon(10,10,10,60,50,35)
def beweegdriehoek(event):
if event.keysym=='Up':
canvas.move(1,0,-3)
elif event.keysym=='Down':
canvas.move(1,0,3)
elif event.keysym=='Left':
canvas.move(1,-3,0)
else:
canvas.move(1,3,0)
canvas.bind_all('<KeyPress-Up>',beweegdriehoek)
canvas.bind_all('<KeyPress-Down>',beweegdriehoek)
canvas.bind_all('<KeyPress-Left>',beweegdriehoek)
canvas.bind_all('<KeyPress-Right>',beweegdriehoek)
 
Je was de functie mainloop() vergeten toe te voegen. Dit is de functie die zorgt dat het canvas onderhouden wordt en regelt alles voor het canvas (zoals de events doorspelen naar je beweegdriehoek() functie). Het canvas kan niet bestaan zonder mainloop().

Je script ziet er dan als volgt uit (ik heb zelf nog het een en ander verplaatst, maar zou niet zoveel uit moeten maken zolang canvas.bind_all() NIET in de functie beweegdriehoek zit, maar erbuiten).


Python:
from tkinter import *


def beweegdriehoek(event):
    if event.keysym=='Up':
        canvas.move(1,0,-3)
    elif event.keysym=='Down':
        canvas.move(1,0,3)
    elif event.keysym=='Left':
        canvas.move(1,-3,0)
    else:
        canvas.move(1,3,0)


tk=Tk()
canvas=Canvas(tk,width=400,height=400)
canvas.pack()
canvas.create_polygon(10,10,10,60,50,35)

canvas.bind_all('<KeyPress-Up>',beweegdriehoek)
canvas.bind_all('<KeyPress-Down>',beweegdriehoek)
canvas.bind_all('<KeyPress-Left>',beweegdriehoek)
canvas.bind_all('<KeyPress-Right>',beweegdriehoek)

# deze was je vergeten:
mainloop()


Zou je voortaan ook de juiste opmaak voor code willen gebruiken? Dat is een stuk makkelijker te volgen. Als je niet weet hoe dit moet, kan je de volgende post gebruiken: Nieuwe code tag ingevoerd op het forum (Handleiding)
 
Hallo m44rtn,

Dank je wel voor de juiste code in de juiste volgorde, ik ben nog maar een leek in de programmeertaal,maar wil het graag leren. ik werk met pycharm maar ik heb de code erin gezet, maar hij doet niks op het scherm. doe ik iets verkeerd dat zal wel maar ik weet niet wat.
de code zit niet met fouten. maar wat is eigelijk het verschil tussen pycharm en python?
ik heb ook een andere driehoek code gemaakt uit het boek en die werkt wel.
ik heb het boek visuel steps programmeren met python van Jason R Briggs, maar ik vind het nog niet zo duidelijk eigenlijk.
ik wil eigenlijk weten waarom die beweegdriehoek niet werkt.
ik hoor het wel

groet Herman
 
Sorry voor het niet reageren! Heb nooit doorgehad dat je geantwoord had. Hopelijk kan ik je nog helpen.

Het verschil tussen Python en PyCharm

Python is de programmeertaal terwijl PyCharm een IDE (Integrated Development Environment) is. Een IDE is eigenlijk een hele luxe code editor met allerlei extra functies. Waar je bij een code editor alleen code kan schrijven en dit kan opslaan, kan een IDE veeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeel meer. Enkele voorbeelden van dingen die een IDE kan maar een code editor niet:
  • Compilen/uitvoeren/interpreteren van code
  • Git integratie (voor websites als github.com en gitlab.com)
  • Ingebouwde terminal/command line/shell
  • En nog veel meer... (ook afhankelijk van je IDE)
Python werkt hetzelfde in PyCharm als bij mij in mijn terminal met het programma Python3.

Waarom de beweegdriehoek niet werkt
Hiervoor zou ik iets meer informatie moeten hebben, zoals heb je de code aangepast en wat is je output. etc.

Waarschijnlijk ben ik hier al veel te laat mee, maar mocht ik dat niet zijn en je hebt nog interesse wil ik je best helpen. Deze keer krijg ik als het goed is WEL een notificatie als je antwoord. Vorige keer was ik dit vergeten, en helaas gaat het bij het NCF niet automatisch als je ergens antwoord op hebt gegeven.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan