[python] terug naar de shell na 'save as'

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • SnijntjeHaan
  • Registratie: Augustus 2022
  • Laatst online: 12-09-2023
Hallo,

inleiding
Mijn zoon van 7 heeft een boek bij de bibliotheek geleend over Python.
Samen hebben we Python 3.10.6 geïnstalleerd via python.org (instructie stond in het boek)
Sindsdien maakt hij de opdrachten uit het boek en hij heeft er heel veel plezier in.
Voordat ik deze post maakte heb ik de regels gelezen over 'waar plaats ik mijn topic' en 'topic titel'
Mocht ik nog iets verkeerd doen dan hoor ik het graag :)

probleem
Na een poosje werken in de 'shell' sla ik het bestand op via 'File -> Save as'
Als ik de volgende dag het bestand weer open op in Pyhton IDLE (wit scherm) dan kan mijn zoontje het niet meer bewerken. Ik kan niet met het geprogrammeerde materiaal terugkomen in de shell

Relevante software en hardware die ik gebruik
Python 3.10.6

Een deel van de code
Deze code heeft hij vandaag gemaakt.

Python 3.10.6 (tags/v3.10.6:9c7b4bd, Aug 1 2022, 21:53:49) [MSC v.1932 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
tovenaar_lijst'spinenpoot, kikerdril, varkensnot, eierschaal'
SyntaxError: invalid syntax
tovenaar_lijst='spinenpoot, kikerdril, varkensnot, eierschaal'
print(tovenaar_lijst)
spinenpoot, kikerdril, varkensnot, eierschaal
tovenaar_lijst2=['spinnenpoten','kikerpoep','slakkenboter','spruitjes']
tovenaar_lijst2
['spinnenpoten', 'kikerpoep', 'slakkenboter', 'spruitjes']
tovenaar_lijst2
['spinnenpoten', 'kikerpoep', 'slakkenboter', 'spruitjes']
print(tovenaar_lijst2[2])
slakkenboter
print(tovenaar_lijst2[3])
spruitjes
tovenaar_lijst2[2]='slakentong'
print(tovenaar_lijst2)
['spinnenpoten', 'kikerpoep', 'slakentong', 'spruitjes']

Wat ik al gevonden of geprobeerd heb
Ik open "Python IDLE"
Ik kies Open File -> en zoek het file op
Ik probeer "Run Module'
Run Module lukt niet omdat hij in de eerste regel van het bestand al een fout ziet.
Echter dit is een geautomatiseerde string namelijk
"Python 3.10.6 (tags/v3.10.6:9c7b4bd, Aug 1 2022, 21:53:49) [MSC v.1932 64 bit (AMD64)] on win32"
Hij geeft dan aan dat de eerste vetgedrukte 9 niet klopt o.i.d.

Ik hoop op wat tips :)
Simone en Hendrik

[ Voor 0% gewijzigd door SnijntjeHaan op 09-08-2022 21:49 . Reden: typfout ]

Alle reacties


Acties:
  • 0 Henk 'm!

  • infke
  • Registratie: Mei 2017
  • Laatst online: 14-08 10:37
Het lijkt erop dat wanneer je de shell gebruikt en dan op opslaan drukt, IDLE de tekst zoals die op dat moment getoond wordt in de shell, as is opslaat in een bestand. Die tekst bevat zo te zien een deel python code, de output ervan en helemaal vanboven enkele lijnen informatie die worden getoond wanneer je IDLE start. Omdat de output en die lijnen vanboven erbij zitten is dit geen geldige python code en daarom krijg je een error. Ik snap niet waarom die tool het zelfs toelaat de tekst in de shell op te slaan als een python file, maar goed.

Wat je best kan doen is een bestand aanmaken en daar je code in schrijven. Die kan je dan uitvoeren door op F5 te drukken en op een later moment terug openen. De output zie je in de shell. Hier staan wat foto's die duidelijk maken hoe je dit kan doen: https://www.tutorialsteacher.com/python/python-idle

Ik heb de invalide lijnen uit je snippet gehaald, dit kan je wel uitvoeren
tovenaar_lijst='spinenpoot, kikerdril, varkensnot, eierschaal'
print(tovenaar_lijst)
tovenaar_lijst2=['spinnenpoten','kikerpoep','slakkenboter','spruitjes']
tovenaar_lijst2
tovenaar_lijst2
print(tovenaar_lijst2[2])
print(tovenaar_lijst2[3])
tovenaar_lijst2[2]='slakentong'
print(tovenaar_lijst2)

[ Voor 1% gewijzigd door infke op 09-08-2022 23:38 . Reden: typo ]


  • SnijntjeHaan
  • Registratie: Augustus 2022
  • Laatst online: 12-09-2023
Bedankt voor je antwoord.

Mijn zoontje voert telkens een command in en laat dat dan meteen uitvoeren.

Ik begrijp dus dat je in de shell eigenlijk alleen en lijst commands kunt opslaan? En dat je die dan via Run Module kunt uitvoering? Klopt dat?

EDIT: Ik heb zojuist het stukje code uit je vorige bericht gekopieerd, opgeslagen, geopend in IDLE en via 'Run Module' in de shell gebracht. Het werkt inderdaad. Superfijn! Dan hoeft hij niet elke dag opnieuw te beginnen

[ Voor 30% gewijzigd door SnijntjeHaan op 11-08-2022 07:50 ]


Acties:
  • +3 Henk 'm!

  • Ben(V)
  • Registratie: December 2013
  • Laatst online: 13:54
De shell is wat je noemt een interactieve python omgeving.
Met andere woorden, je kunt daar alleen losse regels python laten uitvoeren.

Idle heeft twee windows de ene is de shell en de andere is editor.
De eerste gebruik je om enkelvoudige python commandos uit te voeren (zeg maar te testen).
De Editor gebruik je om een aantal regels python in te schrijven die je dan weer als python programma uit kunt laten voeren.
En save doe je dus ook vanuit de editor en niet vanuit de shell.

Kortom, je moet in de editor werken en niet in de shell.

[ Voor 6% gewijzigd door Ben(V) op 11-08-2022 10:01 ]

All truth passes through three stages: First it is ridiculed, second it is violently opposed and third it is accepted as being self-evident.


  • Sandor_Clegane
  • Registratie: Januari 2012
  • Niet online

Sandor_Clegane

Fancy plans and pants to match

SnijntjeHaan schreef op donderdag 11 augustus 2022 @ 07:34:
Bedankt voor je antwoord.

Mijn zoontje voert telkens een command in en laat dat dan meteen uitvoeren.

Ik begrijp dus dat je in de shell eigenlijk alleen en lijst commands kunt opslaan? En dat je die dan via Run Module kunt uitvoering? Klopt dat?

EDIT: Ik heb zojuist het stukje code uit je vorige bericht gekopieerd, opgeslagen, geopend in IDLE en via 'Run Module' in de shell gebracht. Het werkt inderdaad. Superfijn! Dan hoeft hij niet elke dag opnieuw te beginnen
Wikipedia: Read–eval–print loop

De juiste terminologie, maakt het zoeken wat gemakkelijker.

Less alienation, more cooperation.