Oppure

Loading
07/07/10 10:44
carmine
raga non riesco a trovare l'errore, ho un menu a scelta per le 4 operazioni, quando vado in divisione mi accumula i miei numeri ma quando inserisco 0 non esce:
import os
num=1
s=0
def somma():    
    os.system("cls")
    num=1
    s=0
    print 'Inserire numeri (0 per uscire)'
    while num!=0:
        num=input()
        s=s+num
        print 'somma vale: ',s.real
    main()
def sott():
    os.system("cls")
    s=1
    num=1
    print 'Inserire numeri (0 per uscire)' 
    s=input()
    print 'differenza vale: ',s.real
    while num!=0:
        num=input()
        s=s-num
        print 'differenza vale: ',s.real
    main()
def molt():
    os.system("cls")
    s=1
    num=1
    print 'Inserire numeri (0 per uscire)' 
    s=input()
    print 'prodotto vale: ',s.real
    while num!=0:
        num=input()
        s=s*num
        print 'prodotto vale: ',s.real
    main()
def div():
    os.system("cls")
    s=0
    num=1
    print 'Inserire numeri (0 per uscire)'
    s=input()
    print 'rapporto vale: ',s.real
    while num!=0:
        num=input()
        s=s/num
        print 'rapporto vale: ',s.real
    main()
def main():
    os.system("cls")
    print '1) Somma'
    print '2) Sottrazione'
    print '3) Moltiplicazione'
    print '4) Divisione'
    print '5) Esci'
    scelta=input()
    if scelta == 1:
        somma()
    if scelta == 2:
        sott()
    if scelta == 3:
        molt()
    if scelta == 4:
        div()
main()

aaa
07/07/10 10:54
GuglielmoS
L'errore sta nel fatto che non puoi dividere un numero per 0.
Quindi correggi la divisione aggiungendo un controllo al numero inserito dall'utente.
...
    while num!=0:
        num=input()
        if num != 0:
            s=s/num
            print 'rapporto vale: ',s.real
    main()
...
aaa
07/07/10 11:55
carmine
mm..ho capito l'errore grazie mille!!!
aaa