Python. fel i codeacademy eller gör jag något fel

Trädvy Permalänk
Medlem
Plats
Helsingborg
Registrerad
Maj 2014

Python. fel i codeacademy eller gör jag något fel

Hej

En enkel python uppgift i codeacademy ser ut så här:

my_var = 10
print my_var

O då blir ju resultatet 10. Inget konstigt.

Men om jag gör samma i utanför codeacademy som typ visual studio eller python3.5
så klagar den på att my_var ska vara inom parentes

Är det fel i codeacademy eller är det jag som rör till det?

Sandra

Trädvy Permalänk
Medlem
Plats
Solna
Registrerad
Nov 2008

I Python2 behöver man inte någon parentes efter print satser, på samma sät som om man skriver return. I Python3 måste man ha parentes. Ska noteras att man får skriva med parentes i P2.

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Jul 2011

@Sandra_Wyno: Har att g;ra med python version 2.7.X contra python 3.X. I python 2.7.X (som trotts det lägre versionsnumret är mer utbrett) är syntaxen korrekt. I python 3.X är syntaxen för print följane: print(my_var).

Dator: i7 2600k @ 5,1Ghz (Vatten) | MSI GTX1080 Sea Hawk EK X | ASUS ROG V Maximus Extreme Z77 | 4x4gb 1800Mhz Crucial Ballistix | Corsair 760T | NZXT Hale90 1000W
Kringutrustning: Asus VG278H | 2x Samsung P2450 | Razer Ouroboros | Ducky Shine II | Razer Vespula

Trädvy Permalänk
Medlem
Plats
Helsingborg
Registrerad
Maj 2014
Skrivet av xyllian:

I Python2 behöver man inte någon parantes efter print satser, på samma sät som om man skriver return. I Python3 måste man ha parantes. Ska noteras att man får skriva med parantes i P2.

Skrivet av Mackan32:

@Sandra_Wyno: Har att g;ra med python version 2.7.X contra python 3.X. I python 2.7.X (som trotts det lägre versionsnumret är mer utbrett) är syntaxen korrekt. I python 3.X är syntaxen för print följane: print(my_var).

Okej. Då är det bäst att köra med parentes så man lär sig det.

Har kört igenom de flesta python avsnitten på codeacademy och skulle köra lite själv och stötte på patrull direkt

Så alltid () efter print?

Trädvy Permalänk
Medlem
Plats
Solna
Registrerad
Nov 2008

print('hello world')

och

print 'hello world'

ger precis samma resultat i Python2, men bara den första fungerar i Python3. Så att skriva med parentes (precis så som andra funktioner anropas) är en bra ide.

Trädvy Permalänk
Medlem
Plats
Helsingborg
Registrerad
Maj 2014
Skrivet av xyllian:

print('hello world')

och

print 'hello world'

ger precis samma resultat i Python2, men bara den första fungerar i Python3. Så att skriva med parentes (precis så som andra funktioner anropas) är en bra ide.

Tack för snabbt svar. Alltid lika vänliga här

Hade inte riktigt koll att det skiljde sig mellan v2 och v3. Man blir lätt lite förvirrad när man samtidigt inte har rutinen

Tack

mvh Sandra

Trädvy Permalänk
Medlem
Plats
Helsingborg
Registrerad
Maj 2014
Skrivet av Sandra_Wyno:

Tack för snabbt svar. Alltid lika vänliga här

Hade inte riktigt koll att det skiljde sig mellan v2 och v3. Man blir lätt lite förvirrad när man samtidigt inte har rutinen

Tack

mvh Sandra

Kan man lära sig 2.x istället för 3.x. Mycket som jag lärt mig i 2.x som är annorlunda i 3.x
Tex print (test)len() fungerar i 2.x men inte i 3.x.

Sandra

Skickades från m.sweclockers.com

Trädvy Permalänk
Medlem
Plats
Helsingborg
Registrerad
Mar 2006
Skrivet av Sandra_Wyno:

Kan man lära sig 2.x istället för 3.x. Mycket som jag lärt mig i 2.x som är annorlunda i 3.x
Tex print (test)len() fungerar i 2.x men inte i 3.x.

Sandra

Skickades från m.sweclockers.com

Codeacademy kör fortfarande 2.x på sin python utbildning

Men kör igenom de ändå. Det handlar ju mest om att lära sig programmering.

Mvh Lockster

Trädvy Permalänk
Medlem
Plats
Helsingborg
Registrerad
Maj 2014
Skrivet av Lockster:

Codeacademy kör fortfarande 2.x på sin python utbildning

Men kör igenom de ändå. Det handlar ju mest om att lära sig programmering.

Mvh Lockster

Jo, men det känns fel att lära sig fel från början!

Trädvy Permalänk
Geeks Gaming
Registrerad
Mar 2008
Skrivet av Sandra_Wyno:

Kan man lära sig 2.x istället för 3.x. Mycket som jag lärt mig i 2.x som är annorlunda i 3.x
Tex print (test)len() fungerar i 2.x men inte i 3.x.

Sandra

Skickades från m.sweclockers.com

EOL för Python 2 sker år 2020.

Om du bara är ute efter att lära dig programmering så spelar det mindre roll vilken du lär dig, du är ändå ute efter tänket bakom programmering. När det väl sitter så går det relativt snabbt att byta språk, när vi pratar om Python 2 vs Python 3. Att byta mellan high- och low-level programming language är en annan femma...

Om tanken är att du vill utveckla något i Python och supportera det i X-antal år så bör du skriva det i Python 3.

Serveransvarig för Skyttegrav/Geeks Gaming Spel- & Teamspeak- servrar. Se Geeks Gaming.