2016-10-07 2 views
1

Я борюсь с функциями в python 3. Как я могу сделать приведенный ниже код распечатать результат в градусах Цельсия? Является ли отступ неправильным или имеет отношение ко мне, не определяя Цельсия вне функции в первую очередь? Означает ли это, что мне не нужно использовать функции для простых задач или это лучше сделать так или иначе?Функции в python 3

print ("Welkom bij mijn Fahrenheit naar Celsius converteerprogramma!") 

fahrenheit = int(input("Voer aantal graden Fahrenheit in ")) 

def converter_fahrenheit(fahrenheit): 
    celsius = (fahrenheit - 32) * 5/9 
print (fahrenheit, "graden Fahrenheit is omgerekend ","%.2f" % celsius,"graden Celsius") 
+0

Ваша функция возвращает None и вы даже не называете ее. –

ответ

1

Нужно внести несколько изменений, да, у вас был отпечаток неправильный для оператора печати. Но это еще не все видят, как код заказать сейчас

def converter_fahrenheit(fahrenheit): 
    celsius = (fahrenheit - 32) * 5/9 
    print (fahrenheit, "graden Fahrenheit is omgerekend ","%.2f" % celsius,"graden Celsius") 

print ("Welkom bij mijn Fahrenheit naar Celsius converteerprogramma!") 

fahrenheit = int(input("Voer aantal graden Fahrenheit in ")) 
converter_fahrenheit(fahrenheit) 

Определение функции первого, делает возможным для вас на самом деле вызвать функцию без ошибки броска. Да, вы вообще не называли эту функцию!

+0

Большое спасибо за помощь. Я могу сделать все мои задания сейчас благодаря вам :) –

1

Вы можете сделать это, предварительно определив свою функцию converter_fahrenheit(), а затем возьмите вход и, наконец, вызовите функцию после ввода. Вы не вызывали функцию, чтобы получить значение celsius, и это основная проблема. Код должен быть как таким образом:

def converter_farenheit(farenheit): 
     celsius=(farenheit-32)*5/9 
     print(farenheit,"is the temperature in farenheit and in Celsius ","%.2f" %celsius) 
converter_farenheit(farenheit=int(input("Enter the temperature in Farenheit "))) 

Пожалуйста, отметьте отступы тоже хорошо. :)

1

Вы, кажется, неправильно поняли, как работают функции. Когда вы пишете что-то вроде:

def converter_farenheit(farenheit): 
    some_code 

Код внутри фактически не запускается до тех пор, пока вы не вызовете функцию, вызвав ее позже в программе. Вы уже вызвали несколько функций, таких как int и input, и print в вашей программе, а использование converter_farenheit выглядит в основном тем же самым.

Кроме того, если вы хотите, чтобы получить значение обратно из функции, вам это нужно return то, что передает его обратно из функции, позволяя назначать переменные свое значение, так converter_farenheit действительно должно выглядеть

def converter_fahrenheit(fahrenheit): 
    return (fahrenheit - 32) * 5/9 

что означает, что вы можете написать

def converter_fahrenheit(fahrenheit): 
    return (fahrenheit - 32) * 5/9 

fahrenheit = # some code to grab input goes here 
celsius = converter_farenheit(farenheit) 

Предоставление celsius значение, которое вы ожидаете. Вы спросили, следует ли избегать использования функций для простых задач, но на самом деле вы должны написать как можно больше простых функций. По мере того, как ваши программы становятся более сложными, вы обнаружите, что множество простых и простых функций, каждая из которых выполняет небольшую конкретную работу, очень проста для вас, чтобы рассуждать и тестировать.

Смежные вопросы