DOMANDA Python

Aleee

Nuovo Utente
45
0
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:

rctimelines

Utente Èlite
5,144
2,023
CPU
Ryzen 7 2700X | i7-6700k@4.5 | i5-4460... altri
Dissipatore
wraith MAX | Scythe Katana2|Arctic Freezer 11LP
Scheda Madre
Asrock B450 Fatal1ty 4K | Asus Prime Z270P | Acer Veriton
HDD
Samsung 970evo m.2 | vari | Samsung 860 evo
RAM
16GB G.Skill TridentZ 3000 | 16GB CORSAIR 2133 | 8GB DDR3 1600
GPU
RadeonPro WX3100 4G | ZOTAC GTX 1070 8G | Quadro k620 2G
Monitor
DELL 2419P 2K + Benq 17" | LG Ultrawide 27''
Net
fibra 1000
OS
Windows10-pro64/OpenSUSE-QL15.1/Debian 10.3
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
 

Aleee

Nuovo Utente
45
0
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.
 

clessidra

Utente Attivo
766
272
CPU
VIA C3
GPU
Ati Rage
OS
linux - Red Hat 1.1
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.
 

« MoMy »

Utente Attivo
1,372
610
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.
 

Aleee

Nuovo Utente
45
0
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
 

Entra

oppure Accedi utilizzando

Hot: E3 2021, chi ti è piaciuto di più?

  • Ubisoft

    Voti: 37 23.1%
  • Gearbox

    Voti: 3 1.9%
  • Xbox & Bethesda

    Voti: 101 63.1%
  • Square Enix

    Voti: 14 8.8%
  • Capcom

    Voti: 7 4.4%
  • Nintendo

    Voti: 21 13.1%
  • Altro (Specificare)

    Voti: 15 9.4%

Discussioni Simili