2017-02-28 2 views
-2
def male_resting_metabolic_rate(weight,height,age): 

    '''Takes in the weight, height, and age of a male individual 
    and returns the resting metabolic rate 

Example answers: 
    male_resting_metabolic_rate(80,180,48) = 1751''' 

    male_resting_metabolic_rate = int((88.4+13.4*weight)+(4.8*height)-(5.68* age)) 

if __name__ == "__main__": 
print("This program will calculate the resting metabolic rate of an individual") 

    #Gather the inputs for the functions 

weight = input("What is your weight in kilograms?") 
height = input("What is your height in centimeters?") 
age = int(input("What is your age?" + "(between 1-110):")) 

print("Your resting metabolic rate is",male_resting_metabolic_rate(input,input,input)) 

Warum gibt es einen Fehler in Zeile 10 und 24? Super neu dazu entschuldigen wir uns wenn die Antwort recht offensichtlich ist.TypeError: nicht unterstützte Operandentypen für *: 'float' und 'builtin_function_or_method'

+2

'Eingang, Eingang, input': 3-fache der' input' Methode anstelle der Variablen, die Sie oben definiert !! Außerdem fehlt Ihnen die Umwandlung in Ganzzahlen für 2 Variablen. –

+0

Es gibt eine Reihe von Problemen hier. Der erste ist, dass "input" eine Zeichenkette zurückgibt, also müssten Sie das Gewicht in etwas Numerisches umwandeln, bevor Sie es multiplizieren. 'male_resting_metabolic_rate (Eingabe, Eingabe, Eingabe))' macht keinen Sinn, was hast du versucht? – roganjosh

+0

@ Jean-FrançoisFabre Wie konvertiere ich die Variablen in ganze Zahlen? Wieder entschuldige ich mich, ich fühle mich wie das ist wirklich einfach! –

Antwort

-1

Spotted mindestens zwei Fehler: Sie müssen den Wert mit "Return" in Python zurückgeben. Auch benötigt man die Parameter nach dem Namen passieren nicht "input"

try this:

def male_resting_metabolic_rate(weight,height,age): 

    '''Takes in the weight, height, and age of a male individual 
    and returns the resting metabolic rate 

    Example answers: 
    male_resting_metabolic_rate(80,180,48) = 1751''' 

    return int((88.4+13.4*weight)+(4.8*height)-(5.68* age)) 

if __name__ == "__main__": 
    print("This program will calculate the resting metabolic rate of an individual") 

    #Gather the inputs for the functions 

    weight = float(input("What is your weight in kilograms?")) 
    height = float(input("What is your height in centimeters?")) 
    age = int(input("What is your age?" + "(between 1-110):")) 

    print("Your resting metabolic rate is",male_resting_metabolic_rate(weight, height, age)) 
+0

Ich habe gerade eine Lösung dafür abgeschlossen. Bitte schreiben Sie keine Antwort mit der ganzen verwirrten Formatierung in der Frage, Sie müssen sie in einem Editor reparieren. – roganjosh

+0

@roganjosh Ich entschuldige mich dafür - ich wusste nicht, wie man Code und Kommentare in der gleichen Antwort formatiert. Ich habe das Problem jedoch herausgefunden, vielen Dank! –

+0

@ J. Sie verwenden Backticks für die Formatierung in einem Kommentar. Für Codeblöcke können Sie kopieren/einfügen, markieren Sie die ganze Sache und verwenden Sie 'ctrl' +' k'. Diese Antwort muss jedoch auch verbessert werden. Es gibt keinen Grund für schlecht formatierte Fragen und Antworten. – roganjosh

Verwandte Themen