PDA

View Full Version : [python] errore sintassi sulla print


zanardi84
12-04-2013, 17:13
Ho appena iniziato a pasticciare con python, disorientamento per me che vengo da C++ e dal Java con la loro sintassi ultra rigorosa ricca di parentesi..

comunque sia, ho trovato un esempio banale di un ciclo for in cui voglio stampare giusto 3 cose in croce.

for i in range(4)
print(i, end=" ")

mi contesta quell'end come errore di sintassi.. eppure print prevede che tra i parametri ci sia anche quello..
python è alla versione 2.7.4, ma anche sul 3 ho lo stesso problema.
Dove sbagilo?

Grazie

The_ouroboros
12-04-2013, 17:24
comincia con

for i in range(4):


lucas@lapdog:~$ python3
Python 3.2.3 (default, Feb 20 2013, 14:44:27)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> for i in range(4):
... print(i, end=" ")
...
0 1 2 3 >>>

cdimauro
12-04-2013, 17:41
Per Python 2.7 dovresti aggiungere questa riga all'inizio:
from __future__ import print_statement

zanardi84
12-04-2013, 20:48
comincia con

for i in range(4):


lucas@lapdog:~$ python3
Python 3.2.3 (default, Feb 20 2013, 14:44:27)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> for i in range(4):
... print(i, end=" ")
...
0 1 2 3 >>>



Hai ragione, i 2 punti non li vedo proprio (e infatti nella premessa ho scritto quanto sto faticando!), ma nel mio codice c'erano già.

from __future__ import print_statement mi restituisce un errore:
SyntaxError: future feature print_statement is not defined (<pyshell#1>, line 1)

GByTe87
12-04-2013, 21:32
Hai ragione, i 2 punti non li vedo proprio (e infatti nella premessa ho scritto quanto sto faticando!)

La regola è semplice: ogni espressione che ti costringe ad indentare nella riga successiva necessita dei due punti finali. :D

from __future__ import print_statement mi restituisce un errore:
SyntaxError: future feature print_statement is not defined (<pyshell#1>, line 1)

Non era print_function? :confused:

cdimauro
13-04-2013, 07:14
Sì, scusate, ieri sera andavo di fretta, e ho mischiato with_statement con print_function. :stordita:

zanardi84
13-04-2013, 09:26
Ok, sostituendo function si è risolto!
Grazie.