Domanda [AIUTO SCRIPT PYTHON]HELP ME

Stato
Discussione chiusa ad ulteriori risposte.

Raffio98

Utente Silver
6 Settembre 2014
35
10
3
50
Ultima modifica:
Ciao ragazzi, mi stavo spratichendo in python (sono gli inizi) ed ho fatto questo quiz MOOOLTO CARINO.
Il problema sorge quando voglio avviarlo facendo un semplice doppio click sul file.py perchè si chiude subito dopo un errore di syntax...
Ma il bello è che se lo apro nella IDLE e faccio F5 me lo fa funzionare perfettamente...
Colgo l'occasione per chiedervi come si compila un file python, per intenderci avere un risultato come il DoS di b4ckself.
Ora vi posto il codice del giochino:

Codice:
tentativi = 10
sbagli = 0
risposta = ""
risposta = raw_input ("Qual'è la capitale della Spagna? ")
while risposta != "Madrid":
    sbagli = sbagli + 1
    print "Risposta sbagliata, hai ancora", tentativi, "tentativi"
    risposta = raw_input ("Vuoi riprovare? Rispondi con Si o No ")
    if risposta == "No":
        exit()
    else:
        risposta = raw_input ("Qual'è la capitale della Spagna? ")
    if sbagli == 10:
         print "Tentativi esauriti, HAI PERSO!"
         exit()
print "Complimenti! Sei passato al livello successivo"
risposta = raw_input ("Qual'è la capitale della Francia? ")
while risposta != "Parigi":
    sbagli = sbagli + 1
    print "Risposta sbagliata, hai ancora", tentativi, "tentativi"
    risposta = raw_input ("Vuoi riprovare? Rispondi con Si o No ")
    if risposta == "No":
        exit()
    else:
        risposta = raw_input ("Qual'è la capitale della Francia? ")
    if sbagli == 10:
         print "Tentativi esauriti, HAI PERSO!"
         exit()
print "pazzo! Sei bravissimo, passiamo all'ultimo livello"
risposta = raw_input ("Qual'è la capitale dell'Italia? ")
while risposta != "Roma":
    sbagli = sbagli + 1
    print "Risposta sbagliata, hai ancora", tentativi, "tentativi"
    risposta = raw_input ("Vuoi riprovare? Rispondi con Si o No ")
    if risposta == "No":
        exit()
    else:
        risposta = raw_input ("Qual'è la capitale dell'Italia? ")
    if sbagli == 10:
         print "Tentativi esauriti, HAI PERSO!"
         exit()
print "HAI VINTO! IL TUO PUNTEGGIO E' DI", tentativi - sbagli
P.S. Non guardate la struttura del codice (per esempio cose da migliorare ecc... perche' ho fatto delle modifiche all'ultimo e devo ancora sistemarle per il meglio. Grazie e ciao
P.S.2 Sono riuscito a scattare una foto dell'errore:
RbGZh3.jpg
 
Il problema è che il codice sta cercando di usare la codifica ASCII prova ad usare la codifica UTF-8
Lo puoi fare scrivendo
# -*- coding: utf-8 -*- in alto nella zona superiore del tuo file .py

esempio:

# -*- coding: utf-8 -*-

a="sei"
b="un ***"
print a,b

 
Rispondo all'ultima domanda, i programmi Python non possono essere tradotti nativamente in un file eseguibile .exe ma si usano tool di terze parti come py2exe.

Giusto per completezza, l'interprete Python traduce il tuo codice sorgente in bytecode, racchiuso in un file con estensione .pyc principalmente per motivi di prestazioni, infatti il bytecode viene eseguito più velocemente dall'interprete.
 
Stato
Discussione chiusa ad ulteriori risposte.