RISOLTO Python Errore Invalid Syntax????

Stato
Discussione chiusa ad ulteriori risposte.

mirkodls

Utente Attivo
773
73
CPU
i7 8700k 5.3
Dissipatore
corsair gtx h110 gtx
Scheda Madre
asus strix z370
HDD
m2 wdblack
RAM
16 GB DDR3 GSKILL
GPU
gigabyte 1080 ti oc 2000mhz
Monitor
asus pb287q 4k in over hz 65
PSU
SEASONIC 1000W PLATINUM
Case
THERMALTAKE chaser MK-I
OS
WINDOWS 10 PRO
ciao a tutti raga mi da questo errore sul risultato 2 terzultima riga ma non capisco che errore di sintassi ci sta.... è da poco che mi sono avvicinato alla programmazione per caso ce un limite di istruzioni per una def? sono tipo 2 ore che provo a fare modifiche ma non cambia nulla:suicidio:
Python:
def cmb(n):#calcolo metabolismo basale uomo cmb(n) identificato con 1
    peso=raw_input('quanto pesi in kg?\n')
    peso= int(peso)
    altezza=raw_input('quanto sei alto in cm?\n')
    altezza=int(altezza)
    eta=raw_input('qualè la tua età?\n')
    eta=int(eta)
    allenamento = raw_input('quante volte ti alleni alla settimana?\n')
    allenamento = int(allenamento)
    if allenamento <=1:
        allenamento= 1.25
    elif allenamento == 2:
        allenamento = 1.45
    elif allenamento>=3 and allenamento<=4:
        allenamento=1.65
    else:
        allenamento= 1.85
    risultato1 =66+ (13.7*peso)+(5*altezza)-(6.8* eta)
    risultato2 = risultato1*0.10
    risultato = risultato1 * allenamento + risultato2
    return risultato
non so perche ma le indentazione me le elimina copiandolo qui comunque if elif else sono indentati e tutto sotto def
 
Ultima modifica da un moderatore:

1nd33d

Utente Attivo
653
279
CPU
Intel i5 3570K @ 4,5Ghz
Dissipatore
Scythe Mugen 2
Scheda Madre
Gigabyte Z77X-UD3H
HDD
Samsung 840 PRO 256GB + Sandisk Ultra 250GB + Sandisk Plus 960GB
RAM
2x8GB Crucial Ballistix Tactical @2000Mhz CL9
GPU
XFX RX480 GTR Black Edition
Audio
Auzentech X-Fi Forte
Monitor
AOC i2369VW
PSU
Seasonic P660
Case
eh?
Periferiche
Razer Naga HEX v2
OS
Windows 10 64bit - Linux Mint 18
A me funziona...
 

signore del tempo

Utente Èlite
3,228
491
CPU
Intel Core i5 4670K
Scheda Madre
Asus Z87-Plus
HDD
WD Caviar Green 500GB
RAM
G.Skill Ares 2x4GB 1600MHz
GPU
Sapphire 7850 1GB @ 1050MHz
Audio
Integrata
Monitor
Acer V193w
PSU
XFX ProSeries 550W Core Edition
Case
CM HAF 912 plus
OS
ArchLinux + KDE - Windows 10
Il problema sono la "è" e la "à" nel codice, che per qualche motivo non vengono riconosciute dall'interprete. Puoi risolvere o usando e' / a' oppure (dopo un po' di ricerca) mettendo all'inizio del sorgente:
Codice:
#coding:windows-1250

Infatti credo sia un problema specifico di Windows...

Poi perché impari Python 2 che è prossimo alla fine della vita?
 

mirkodls

Utente Attivo
773
73
CPU
i7 8700k 5.3
Dissipatore
corsair gtx h110 gtx
Scheda Madre
asus strix z370
HDD
m2 wdblack
RAM
16 GB DDR3 GSKILL
GPU
gigabyte 1080 ti oc 2000mhz
Monitor
asus pb287q 4k in over hz 65
PSU
SEASONIC 1000W PLATINUM
Case
THERMALTAKE chaser MK-I
OS
WINDOWS 10 PRO
scusate per il ritardo e grazie
grazie della correzione :) ma nn so cosa sia il tag code..
sto imparando il 2 perche il libro che ho è del 2 ma ho visto che nel 3 cambia poco una volta che lo saprò usare bene lo implemento con il 3
il problema alla fine si è risolto da se non so come hahaha ho modificato il programma ma il problema è un altro volevo usare una ricorsione che, se il valore immesso non è quello giusto vuoi perché è scritto male o altro ti fa immettere di nuovo il valore ma non funge cosi è una ricorsione infinita se sbagli ti chiede fisso sempre la stessa cosa nooo bene!

Codice (Python):

def cmb(n):
if n==1:#calcolo uomo
peso=input('quanto pesi in kg?\n')
altezza=input('quanto sei alto in cm?\n')
eta=input('qualè la tua età?\n')
allenamento =input ('quante volte ti alleni alla settimana?\n')
if allenamento<=1:
allenamento= 1.25
elif allenamento == 2:
allenamento = 1.45
elif allenamento>=3 and allenamento<=4:
allenamento=1.65
else:
allenamento= 1.85
risultato1 =66+(13.7*peso)+(5*altezza)-(6.8* eta)
risultato2= risultato1 * allenamento
risultato= int(risultato2)
print risultato
if n == 2:#calcolo donna
peso=input('quanto pesi in kg?\n')
altezza=input('quanto sei alta in cm?\n')
eta=input('qualè la tua età?\n')
allenamento =input('quante volte ti alleni alla settimana?\n')
if allenamento<=1:
allenamento= 1.25
elif allenamento == 2:
allenamento = 1.45
elif allenamento>=3 and allenamento<=4:
allenamento=1.65
else:
allenamento=1.85
risultato1 = 655+(9.6*peso)+(1.8*altezza)-(4.7* eta)
risultato2= risultato1 * allenamento
risultato= int(risultato2)
print risultato

sesso = raw_input('ciao! adesso calcoliamo il tuo metabolismo basale, sei un uomo o una donna?\n')
if sesso =='uomo':
uomo= 1
cmb(1)
elif sesso =='donna':
donna=2
cmb(2)
else:
if sesso =='uomo':
uomo= 1
cmb(1)
elif sesso =='donna':
donna=2
cmb(2)
while sesso !='uomo' or 'donna':
sesso = raw_input('devi inserire il sesso in modo corretto, sei un uomo o una donna?\n')

------------------------
def nobene(n):
sesso= raw_input('inserisci correttamente il tuo sesso, sei un uomo o una donna?\n')

sesso = raw_input('ciao! adesso calcoliamo il tuo metabolismo basale, sei un uomo o una donna?\n')
if sesso =='uomo':
uomo= 1
cmb(1)
elif sesso =='donna':
donna=2
cmb(2)
elif sesso != 'uomo' or 'donna':
nobene(1)

ho modificato cosi però adesso come faccio a far passare il risultato di nobene di nuovo nel main?
----------------------------------
ok sono poco sveglio.... soluzione veloce quanto semplice
sesso = raw_input('ciao! adesso calcoliamo il tuo metabolismo basale, sei un uomo o una donna?\n')
while sesso != 'uomo':#test
sesso= raw_input('inserisci correttamente il tuo sesso, sei un uomo o una donna?\n')
if sesso =='uomo':
uomo= 1
cmb(1)
elif sesso =='donna':
donna=2
cmb(2)


come faccio a mettere il codice python???
 
Ultima modifica:
Stato
Discussione chiusa ad ulteriori risposte.

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!