Moi! Latasin Pyhon runnerin macille ja sielä ei toimi tuo tämän sivun oppaassa (Oppaat: Python ohjelmointi osa 1) oleva python koodi. Toimiiko tuo ylipäätänsä python runnerilla vai onko mulla väärä ohjelma? Heittää vaan jotain syntax erroria yms.
T. Julia
Mikä versio sinulla on? Kannattaa myös tarkistaa että onko kopionut koodin kokonaan.
Macissa on ilmeisesti edelleen oletuksena vanha Python 2, jonka uusin versio (2.7) on julkaistu vuonna 2010. Kannattaa ehdottomasti asentaa nykyaikainen Python 3, minkä jälkeen Python 3:lle tehty opassarja toimii.
Yleisesti ottaen eri Python-versioiden koodin erottaa helposti siitä, onko print-komento kirjoitettu ilman sulkuja (Python 2) vai sulkujen kanssa (Python 3).
print "moi" # Python 2 print("moi") # Python 3
Jos tämän jälkeen on vielä ongelmia, pitää näyttää koodi ja virheilmoitus, jotta voi saada apua.
File "/var/folders/gn/wcy5t1gj2dzfx_vjd8_br7rm0000gn/T/PythonRunner/dummy.py", line 7 else: ^ SyntaxError: invalid syntax
Tämmönen ilmoitus tulee txt puolelle. Latasin siis ton Python runnerin sovelluskaupasta, olettaisin että ois uusin? Jos ei ole uusin, miten tuon Python 3 pääsee lataamaan? Metabolixen linkistä en mitään latauslinkkiä huomannut. Kiitos jo etukäteen avusta, vasta opettelen tätä koodaus asiaa :)
Kuten sanoin, pitää näyttää myös olennainen osa koodista, jotta virheen voisi selvittää. Virheilmoituksesta päätellen ehkä koodistasi puuttuu aikaisempi if-lause tai ehkä sisennys on pielessä. Tarkista, että koodi näyttää sisennyksiä myöten täsmälleen samalta kuin oppaassa.
Mac App Storessa oleva Python Runner ei varmaan sisällä itse Pythonia vaan käyttää sitä versiota, joka koneella on ennestään.
Latauslinkin etsiminen nettisivulta ei toivottavasti ole mahdoton tehtävä, jos aiot oppia ohjelmoimaan. Tässä on kuitenkin suora linkki kohteeseen python-3.9.0-macosx10.9.pkg, josta pitäisi saada siis Python 3 ja sen mukana IDLE-kehitysympäristö, joka sopii aloittelijalle ihan hyvin.
Muista myös käyttää viestissä tarvittaessa kooditageja, jotta koodit ja muut sisennetyt tekstit pysyvät lukukelpoisina. (Ohjeet ovat viestilaatikon yläpuolella.)
Metabolix kirjoitti:
Kuten sanoin, pitää näyttää myös olennainen osa koodista, jotta virheen voisi selvittää.
Mielestäni Julia sanoi ekassa viestissä että koodi on sivulta https://www.ohjelmointiputka.net/oppaat/opas.
# tervehdyksen tulostus print("Tervetuloa!") # tunnussanan kysyminen sana = input("Kirjoita tunnussana: ") # tulostus riippuu tunnussanasta if sana == "python": print("Matka voi alkaa...") else: print("Yritä uudestaan...")
Kiitos Metabolix! Koodi on juurikin tuo sama copy pastella laitettu minkä Grez tuossa myös laittoi. Latasin Python 3 nyt koneelle ja avasin Python runnerin uudestaan, mutta ei eroa. Herjaa että:
File "/var/folders/gn/wcy5t1gj2dzfx_vjd8_br7rm0000gn/
SyntaxError: Non-ASCII character '\xc3' in file /var/folders/gn/wcy5t1gj2dzfx_vjd8_br7rm0000gn/
Joku juttu tässä nyt mättää, en vaan tajua mikä. Pitäisikö Python 3 lataamisen jälkeen avautua joku uusi alusta, mille koodia laittaa vai toimiiko Python runner edellen "alustana" ?
Noniin! Nyt latasin Visual Studio Coden ja katson miten se siltä lähtee toimimaan. Kiitos kaikille avusta :)
Julia kirjoitti:
mutta ei eroa. Herjaa että
No onhan tuossa nyt aika paljonkin eroa, kun virheilmoitus muuttuis täysin toiseksi. Ensin valitti virheellisestä syntaksista ja sitten siitä että merkistökoodauksen määrittely puuttuu.
Grez kirjoitti:
Mielestäni Julia sanoi ekassa viestissä että koodi on sivulta ...
Toisaalta jos koodi olisi kopioitu oppaasta oikein, ei tulisi syntaksivirhettä else-rivillä. Väärällä Python-versiolla voisi tulla virhe print-rivillä tai virhe ajon aikana input-rivillä.
Julia kirjoitti:
Latasin Python 3 nyt koneelle ja avasin Python runnerin uudestaan, mutta ei eroa.
Pitäisikö Python 3 lataamisen jälkeen avautua joku uusi alusta, mille koodia laittaa
Luetko näitä viestejä ollenkaan? Juuri edellisessä kerroin, että Python runner ei luultavasti osaa käyttää kuin koneella valmiiksi olevaa versiota ja että Python 3:n mukana pitäisi tulla IDLE-ympäristö. Tietysti ei se varmaan avaudu heti Python 3:n lataamisen jälkeen tai edes heti asennuksen jälkeen vaan esimerkiksi uudesta pikakuvakkeesta tms.
Julia kirjoitti:
SyntaxError: Non-ASCII character '\xc3' in file ...
Lisää koodin alkuun tämä rivi:
# -*- coding: utf-8 -*-
Opasta pitäisi varmaan jotenkin päivittää tältä osin.
Merkistöä ei tarvitse ilmoittaa enää Python 3:n kanssa (silloin kun se on UTF-8), joten opastakaan ei tarvitse päivittää siltä osin...
The Alchemist kirjoitti:
Merkistöä ei tarvitse ilmoittaa enää Python 3:n kanssa (silloin kun se on UTF-8), joten opastakaan ei tarvitse päivittää siltä osin...
Totta, tämä olikin huomioitu jo opassarjan päivityksessä Python 3:lle. Samalla paljastui, että kysyjällä on käytössä Python 2, kuten ennustin. Jos on tarkoitus jatkaa Python 2:lla ohjelmointia, opasarkistosta löytyy opassarjan Python 2 -versio. Toisaalta ei ole juurikaan järkeviä syitä opetella vanhalla versiolla ohjelmointia, vaan kannattaa asentaa se Python 3 toimintakuntoon.
Moi!
Metabolix: Kun avasin Python 3 kanssa IDLE ympäristön, avautui sivu jossa tuli setti
Python 3.9.0 (v3.9.0:9cf6752276, Oct 5 2020, 11:29:23) [Clang 6.0 (clang-600.0.57)] on darwin Type "help", "copyright", "credits" or "license()" for more information. >>>
Eli eikös tämä tarkoita että Python 3 on asennettu? Onko tämä se sivu jolle koodia voi alkaa kirjoittaa? Tosiaaan nyt myös on Visual Studio Code käytössä.
Julia kirjoitti:
Onko tämä se sivu jolle koodia voi alkaa kirjoittaa?
Siihenkin voi kirjoittaa, kyllä. Asia selviää helposti myös kokeilemalla. Lisäksi kannattaa katsoa ohjelman valikoita, joista löytyy mm. sellaisia kohtia kuin "New File" ja sen valitsemisen jälkeen "Run". Ilman pientä oma-aloitteisuutta ja uskallusta ei ohjelmoinnissa pärjää.
Moi!
Joo, täytyy vaan uskaltaa lähtee kokeilemaan. :)
Aihe on jo aika vanha, joten et voi enää vastata siihen.