DOMANDA Python

Pubblicità

Aleee

Nuovo Utente
Messaggi
45
Reazioni
0
Punteggio
26
Sono assolutamente un idiota in argomento perchè ho "imparato" qualcosina su python al massimo un paio di giorni fa. Mi stavo esercitando a fare qualche programmino tipo la calcolatrice, ora ho provato a fare questo ma non riesco a farlo funzionare e non so il motivo. Qualcuno mi può aiutare e magari spiegare il motivo?

Python:
while True:
    print('''
    Benvenuto nel programma del comune.
    Con questo software stabiliremo se sei in grado
    di vincere un bonus dal valore di 10.000 euro.

    Tutto quello che dovrai fare sarà rispondere a delle domande
    e dalle informazioni ricevute decideremo se necessiti davvero
    di questo bonus.
    Si prega di rispondere alle domande con si/no e se richiesto
    con delle cifre.
    ''')

    c = "0"

    b = input("Inserisca il suo nome e il suo cognome: ")
    
    print("Bene, " + b + " iniziamo con le domande.")
    a = input("A quanto ammonta il suo reddito? (in cifre, senza punti) ")
    if a < "10000":
        print("La sua risposta è stata segnata.")
        c = c + "1"

    else:
        print("La sua risposta è stata segnata.")
    
    d = input("Ha un lavoro stabile? ")
    if d == "si" or d == "Si":
        print("La sua risposta è stata segnata.")

    elif d == "no" or d == "No":
        print("La sua risposta è stata segnata.")
        c = c + "1"
    
    e = input("Questo programma funziona? ")
    if e == "Si" or e == "si":
        print("La sua risposta è stata segnata.")

    elif e == "no" or e == "No":
        print("La sua risposta è stata segnata.")
        c = c + "1"
    
    if c == "1":
        print("Lei soddisfa tutti i requisiti per ricevere il bonus.")
        input("Grazie per aver utilizzato il programma. Sfrutti al meglio il suo bonus.")

    else:
        print("Lei non soddisfa i requisti per ricevere il bonus.")
        loop = input("Vuole ritentare?")
        if loop == "si" or loop == "Si":
            print("Ricominciamo.")
            continue
        else:
            input("Grazie per aver usato il programma.")
            break


#ho anche provato a fare ' c=str(c+1) ma non ha funzioanto
 
Ultima modifica:
Il codice va inserito all'interno di appositi tag.

In phyton il codice va identato, qui la formattazione è persa quindi non si capisce niente.

Non serve che scrivi tutto per esteso, ma basta la struttura generale del programma.

Infine, una curiosità: se uno risponde alle domande con due caratteri maiuscoli???

Inviato dal mio Nexus 6P utilizzando Tapatalk
 
Il codice va inserito all'interno di appositi tag.

In phyton il codice va identato, qui la formattazione è persa quindi non si capisce niente.

Non serve che scrivi tutto per esteso, ma basta la struttura generale del programma.

Infine, una curiosità: se uno risponde alle domande con due caratteri maiuscoli???

Inviato dal mio Nexus 6P utilizzando Tapatalk
la formattazione non è persa sono solo io stupido che non ho messo il codice nell'apposito spazio, comunque questo è solo un programma per esercitarmi, è vero non avevo pensato a se qualcuno rispondesse con due lettere maiuscole.
 
Cosa non funziona? Io vedo che la variabile c dovrebbe essere di tipo int e invece è di tipo stringa. L'operatore + può essere usato sia con i numeri che con le stringhe o con i caratteri ma il risultato dell'operazione sarà differente.
 
E cosa dovrebbe fare.
Abbiamo la variabile c che è una stringa, se rispondi sempre no il valore iniziale str(0) diventa 01, 011 e 0111. Se rispondi sempre sì e con 'a' < '1000', il valore resterà a 01 e il confronto con if c == "1" sarà sempre false.
 
E cosa dovrebbe fare.
Abbiamo la variabile c che è una stringa, se rispondi sempre no il valore iniziale str(0) diventa 01, 011 e 0111. Se rispondi sempre sì e con 'a' < '1000', il valore resterà a 01 e il confronto con if c == "1" sarà sempre false.
ora ho capitoooooooooooooooooooooooooo
sono prorpio stupido
 
Pubblicità
Pubblicità
Indietro
Top