Kirjautuminen

Haku

Tehtävät

Kilpailu

Algoritmikisa
Putka Open 2020 -kisan
4. kierros: 6.–8.11.

Keskustelu: Yleinen keskustelu: Python Macissa

Sivu 1 / 1

Sivun loppuun

Julia [13.10.2020 11:23:05]

Lainaa #

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

tositoo [13.10.2020 11:36:27]

Lainaa #

Mikä versio sinulla on? Kannattaa myös tarkistaa että onko kopionut koodin kokonaan.

Metabolix [13.10.2020 12:06:19]

Lainaa #

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.

Julia [13.10.2020 14:56:33]

Lainaa #

 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 :)

Metabolix [13.10.2020 15:37:30]

Lainaa #

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.)

Grez [13.10.2020 16:05:06]

Lainaa #

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.php?tunnus=python3_01 eli tämä:

# tervehdyksen tulostus
print("Tervetuloa!")

# tunnussanan kysyminen
sana = input("Kirjoita tunnussana: ")

# tulostus riippuu tunnussanasta
if sana == "python":
    print("Matka voi alkaa...")
else:
    print("Yritä uudestaan...")

Julia [13.10.2020 17:12:23]

Lainaa #

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/T/PythonRunner/dummy.py", line 13
SyntaxError: Non-ASCII character '\xc3' in file /var/folders/gn/wcy5t1gj2dzfx_vjd8_br7rm0000gn/T/PythonRunner/dummy.py on line 13, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

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" ?

Julia [13.10.2020 17:28:45]

Lainaa #

Noniin! Nyt latasin Visual Studio Coden ja katson miten se siltä lähtee toimimaan. Kiitos kaikille avusta :)

Grez [13.10.2020 19:45:06]

Lainaa #

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.

Metabolix [14.10.2020 15:15:31]

Lainaa #

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.

The Alchemist [15.10.2020 04:06:19]

Lainaa #

Merkistöä ei tarvitse ilmoittaa enää Python 3:n kanssa (silloin kun se on UTF-8), joten opastakaan ei tarvitse päivittää siltä osin...

Metabolix [15.10.2020 08:59:31]

Lainaa #

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.

Julia [15.10.2020 17:50:48]

Lainaa #

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ä.

Metabolix [15.10.2020 18:19:58]

Lainaa #

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ää.

Julia [16.10.2020 11:32:03]

Lainaa #

Moi!
Joo, täytyy vaan uskaltaa lähtee kokeilemaan. :)


Sivun alkuun

Vastaus

Muista lukea kirjoitusohjeet.
Tietoa sivustosta