下記動画を参照して、for文について勉強しています。
リンク内容
下記それぞれのソースコードを元に、質問させてください。
質問1 for文の num について
下記のfor文の中で、 num という カウンタ変数の中に、data のリストの中の値をはめこんで、一番左の値 である 0列目 (ここで言うと "70")をあてはめて右、for文回って右隣りである二列目("65")にズレる…という認識ですがあってますでしょうか。
リンク先の動画の 36:61 で、「カウンタ変数に数字が順次代入され」との説明があったので、 sum に 0,1,2,3,4…と足していくものと勘違いしていました。
連番なのか、リストの中身の取るかは、ソースによって違うのでしょうか。
(range の中に、連番が入っている?)
class Student: def __init__(self, name): self.name = name def calculate_avg(self, data): sum = 0 # data の 中身である[70,65,50,90,30]を num で左から格納する for num in data: sum += num avg =sum/len(data) return avg def judge(self, avg): if(avg >= 60): result = "passed" else: result = "failed" return result a001 = Student("sato") data = [70,65,50,90,30] avg = a001.calculate_avg(data) judge_result = a001.judge(avg) print(avg) print(a001.name) print(judge_result)
質問2 for文について
下記for 文の iカウンタ変数について質問です。
この "i" の部分は for 文が1週するごとに+1 していく認識なのですが、カウンタはソースの中で勝手に数を足し算できない認識であってますでしょうか。
(試しに、下記の3行目の += 10 を追加して、 "i" の中身を 表示させたのですが、for文が回るごとに、足した数がリセットされていました。)
for i in range(5): print(i) i += 10 print(i)
以上、よろしくお願いします。