2016-10-07 11 views
1

私はPython 3の関数に苦労しています。以下のコードを摂氏で表示するにはどうしたらいいですか?字下げが間違っているのですか、あるいは最初に関数の外でCelsiusを定義していない私と関係がありますか?これは、単純なタスクに関数を使用する必要はないということですか、とにかくそれを行う方が良いですか?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 

コードを実際に実行するには、後でプログラムで呼び出して関数を呼び出す必要があります。あなたのプログラムには、intinputprintのようないくつかの関数が既に呼び出されていて、converter_farenheitは基本的に同じように見えます。

あなたが戻っ機能のタイムアウト値を取得したい場合はさらに、あなたはその値に変数を割り当てることができる機能のうち、戻ってそれを渡しreturn何か、それを必要とするので、converter_farenheitは本当に

のようになります。あなたは celsiusにあなたはそれが期待値を与える

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

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

を書くことができることを意味し

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

。単純なタスクに関数を使用しないようにする必要があるかどうかを尋ねましたが、実際にできるだけ多くの単純な関数を記述する必要があります。あなたのプログラムがより複雑になるにつれて、細かく具体的な仕事をしている多くの短くて単純な機能が、あなたが推論してテストするのがとても簡単であることがわかります。

関連する問題