課題 :与えられたリスト中に含まれる数の平均値を求める関数 mean を含むモジュール calc2 を作成しましょう。次に、imp_test2 の中で calc2 モジュールを取り込み、ユーザから入力された複数の数の平均値を求めるプログラムを作成しましょう。
課題のまえの説明に出てくるコード(test20.py)#!/usr/bin/env python3
def sum(nums):
total = 0
for num in nums:
total += num
return total
if __name__ == "__main__":
sample_list = [ 2,5,7,10 ]
print("List is: ", sample_list)
print("Total is: ", sum(sample_list))
上のコードをモジュールとしimportしたコード(test21.py)#!/usr/bin/env python3
import test20
test_list = [1, 3, 9, 10 ]
print("List is: ", test_list)
print("Total is: ", test20.sum(test_list))
実行結果
def以下、if行未満の関数の意味が解らず、おまじない
なのかな、てな調子でした。ちゃんと意味のあることが
切れかけの蛍光灯のような点灯の遅さで理解しました。
理解するため、値を代入してのテストprint(test24.py)#!/usr/bin/env python3
def sum(nums):
total = 0
for num in nums:
total += num
return total
print(sum((8, 2, 3, 0, 7)))
リストの中身の総和を出す働きがちゃんとありました。
printで、(())と括弧を二重にするみたいですね。
で、課題の解答です。importされるコード(practice25.py)#!/usr/bin/env python3
def sum(nums):
total = 0
for num in nums:
total += num
number = len(nums)
average = total / number
return average
if __name__ == "__main__":
li = [1,2,3,4,5,6,7]
print("List is: ", li)
print("Average is: ", sum(li))
トータルして、要素個数で割るところを、最初、
if以下に書いてしまって、importが上手くできませんでした。
つまり、上のdef関数を無視した形になっていました。
関数内に、トータルして割る、を入れ込んで上手く行きました。
importするコード(practice26.py)#!/usr/bin/env python3
import practice25
ls = list(map(int, input("平均値をお出しします。\n\
任意の整数を2つ以上、\n\
半角スペースで区切って\n\
入力してください = ").split()))
print("\n")
print("Entered Numbers: ", ls)
print("Average is: ", practice25.sum(ls))
print("\n")初めて出てきたかも知れない。
map()は、リストの全要素にアクセスできるようにする。
split()は、数値を切り離して要素化する。
for文でできるらしいですが、
ループの理解が足りず、直線的に
できる方法を探しました。
for文でやれ、とは課題に書いていない!!!
二連続での諦めムードが漂い始めていました。
プログラミングは、やっぱり勉強ができるアタマの
ほうがたんぜんいいと思います。
アクセスが欲しいから、ようつべ先生たちは、
四足演算(つまり算数)が理解できる程度の頭さえあれば、
プログラミンはやれる!と強くおっしゃいますが、、、
数学だけでも偏差値的は、60以上あったほうが、、、。
勉強のできない子供の頃の忘れかけていたトラウマが、
蘇ってくる、イヤーーな感覚です。
アタマの整理の早い人間に生まれたかった!
posted by ブログ開設者 at 13:42|
Comment(0)
|
linux
|
|