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

Permalänk

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

Permalänk
Medlem

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.

Permalänk
Medlem

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

Permalänk
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?

Permalänk
Medlem

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.

Permalänk
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

Permalänk
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

Permalänk
Medlem
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

Permalänk
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!

Permalänk
SpelClockers
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.