Sarò scemo ma non capisco perchè non riesco a scrivere in Python una cosa che in C è semplicissima, cioè questo:
Code:int a=2;
int b=3;
if (a==2){
if (b==4){
cout << "B vale 4" << endl;
}
cout << "Prova Prova";
}
Printable View
Sarò scemo ma non capisco perchè non riesco a scrivere in Python una cosa che in C è semplicissima, cioè questo:
Code:int a=2;
int b=3;
if (a==2){
if (b==4){
cout << "B vale 4" << endl;
}
cout << "Prova Prova";
}
non devi tabbare un sacco? :D
Lo sai vero che python usa(va ...sono fermo a 2 anni fa ma presumo non sia cambiata questa caratteristica) le indentazioni e non le graffe per dividere i blocchi di codice?
Se scrivi tutto senza indentare le condizionate non funzioneranno.
tabbare = indentarte
per il resto dovrebbe essere così:
if a == 2:
if b == 4:else:print "B vale 4"
print "Prova Prova"
dovrebbe essere una cosa del genere
Io voglio che quando termina il codice dell if b torni a eseguire il codice restante di if a
ma mettilo prima della if=b
Molte volte mi capita di dover fare cose simili...quindi chiedevo
in python invece delle parentesi usi i tab... cose con la stessa indentazione fanno parte delle stesse parentesi per capirci
Secondo me no.
Entra nell if b, e quando esce non esegue quello nell'else, ma lo salta.
Faccio esempio del programma
Allora mostro i due casi per essere chiaroCode:nome=raw_input('Inserisci il nome :')
età=input=('Inserisci la tua età :')
if (len(nome)>0):
print "Nome Inserito :",nome
if (età > 20) print "Hey hai più di 20 anni"
print "Caro %s di %d anni il programma è terminato" % (nome,età)
Caso 1:
Nome=Pippo
Età 18
Output a Console:
Caso 2:Code:Nome Inserito : Pippo
Caro Pippo di 18 anni il programa è terminato
Nome: Topolino
Età: 35
Code:
Nome Inserito: Topolino
Hey hai piu di 20 anni
Caro Topolino di 20 anni il programma è terminato
@hardcore: è consigliabile usare raw_input in qualsiasi caso indipendentemente dal tipo (stringa o intero)Code:a = 2
b = 3
if a == 2 and b ==3:
print 'a vale 2 e b vale 3'
else:
print 'nulla'
Code:nome=str(raw_input('nome: '))
eta=int(raw_input('eta: '))
Non ho capito il primo codice che hai messo.
Ok, però non fa quello che penso io, l'idea è
A Vale 2? SI
Entro nel blocco
<eseguo del codice per tutti i casi in cui a vale 2>
Dentro a questo blocco caso particolare <b vale 3?> Si eseguo anche questo particolare codice
Esco da b
continuo a eseguire del codice dell if A
Quello scritto da te se a o b valgono quello esegue tutto quel codice, non un codice limitato solo ad b=3 nel caso a =2.
Ovviamente potrei fare
if a==2 and b==3 : <blocco A>+<blocco B>
ma poi avrei anche un
if a==2 and b!=3: <blocco A>
cioè del codice scritto piu volte che mi sembra una cosa un pò inutile. Oh magari sta cosa in python non si può fare e basta