- 締切済み
pythonの問題ー解き方を教えて頂きたいです。
プログラムのコードとどう考えればいいのかを教えていただきたいです。 言語はpythonです。 よろしくお願いします。 Write a function called genAvg(numList, precision) that takes in a list numbers and finds the average of the numbers. It will then return a string that says something like: The average is 1.234 The output format of the average is specified by the precision parameter that is given to the function. The parameter defines how many digits to the right of the decimal place to round to. So, if the precision is 2, then the output format will round to the hundredths. This parameter will be an integer greater or equal to 0. Use the .format method of strings to make this output string. You may need to create an initial string with some string concatenation operations before using the .format method since the precision is not a fixed value. Example: genAvg([1,2,5], 4) will return the string The average is 2.6667
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- _kappe_
- ベストアンサー率68% (1581/2304)
課題の丸投げっぽい質問にはあまり回答がつかない傾向があります。途中まででもいいので自分で書いたプログラムを示して、どの部分が分からないのかを明確にしてください。 この問題の場合、precisionの部分はとりあえず無視して、numListで与えられたリスト内の数値の平均(average)を求めるところまでのプログラムは書けますか? もし「平均って何?」というところでつまづいている場合は小学校の算数からやり直しです。
補足
def genAvg(numList, precision): avg = sum(numList) / len(numList) fmt = 'The average is {:.' + str(precision) + 'f}' return fmt.format(avg) なんとかできました。 課題の提出期限が近ずいてしまっていたため丸投げのような形で質問してしまいました。 申し訳ありませんでした。