Pagina 1 di 1

errore in maestra.py

MessaggioInviato: 20/11/2011, 15:29
da brunology
Quando eseguo il nostro scriptMaestra.py, ottengo questo errore:

Codice: Seleziona tutto
  File "maestra.py", line 20
    risultato = x//y                               #divisione per interi
            ^
SyntaxError: invalid syntax


Immagino di aver fatto un errore nel copia e incolla dal wiki, ma non riesco a vederlo.

Ecco il mio file:

Codice: Seleziona tutto
#!/usr/bin/env python3
# -*- coding: utf-8 -*-   #Non obbligatorio

name = input("Come ti chiami?\n > ")
x = int(input("Inserisci il dividendo\n >"))  #Richiesta del primo intero
y = int(input("inserisci il divisore\n > "))  #Richiesta del secondo intero

# Metodo "tradizionale"
#print("""
#Dimmi %s, quanto volte sta il %d nel %d?
#E con che resto?
#""" % (name, x, y))

# Metodo con "format" (solo Python 3.1)
print("""
Dimmi {0}, quanto volte sta il {1} nel {2}?    #fare attenzione ai numero nelle parentesi graffe
E con che resto?
""" .format(name, x, y)                        # name={0}, x={1}, y={2}

risultato = x//y                               #divisione per interi
resto = x%y                                    #modulo o "resto"
print("Il risultato e'", risultato)
print("Il resto e'", resto)

Re: errore in maestra.py

MessaggioInviato: 20/11/2011, 16:04
da Stemby
Non ho provato ad eseguirlo, ma leggendo velocemente mi è saltato all'occhio un errore:
Codice: Seleziona tutto
""" .format(name, x, y)                        # name={0}, x={1}, y={2}


Tra le virgolette e il punto non ci devono essere spazi: format() è un metodo stringa, quindi la sintassi è:
Codice: Seleziona tutto
stringa.format()


Prova a vedere se così funziona.

Ciao!

[EDIT]
Altro errore che mi è saltato all'occhio: alla funzione print() manca la parentesi di chiusura.

Re: errore in maestra.py

MessaggioInviato: 20/11/2011, 16:41
da brunology
grazie Stemby

sì, l'errore era dovuto alla mancata parentesi di chiusura di print
avrei dovuto vederla...

comunque lo script andrebbe migliorato:
- almeno sostituire input con print quando la maestra fa la domanda
- poi c'è un commento nella stringa e quindi viene stampato

scriverei così:

Codice: Seleziona tutto
input("""
Dimmi {0}, quante volte sta il {1} nel {2}?
E con che resto?
""".format(name, x, y)                        # name={0}, x={1}, y={2}
)

Re: errore in maestra.py

MessaggioInviato: 21/11/2011, 0:20
da Risca
Ottimo lavoro! Mi raccomando ricordati di correggere il wiki O0

Re: errore in maestra.py

MessaggioInviato: 22/11/2011, 0:29
da brunology
fatto