質問編集履歴
1
参照コードを修正しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,24 +1,58 @@
|
|
1
1
|
下記動画を参照して、for文について勉強しています。
|
2
2
|
[リンク内容](https://www.youtube.com/watch?v=HyU3XL2F9GE)
|
3
3
|
|
4
|
-
下記のソースコードを元に、質問させてください。
|
4
|
+
下記それぞれのソースコードを元に、質問させてください。
|
5
|
-
```ここに言語を入力
|
6
|
-
for i in range(5):
|
7
|
-
print(i)
|
8
|
-
i += 10
|
9
|
-
print(i)
|
10
|
-
```
|
11
5
|
|
6
|
+
|
12
7
|
質問1 for文の num について
|
13
|
-
|
8
|
+
下記のfor文の中で、 num という カウンタ変数の中に、data のリストの中の値をはめこんで、一番左の値 である 0列目 (ここで言うと "70")をあてはめて右、for文回って右隣りである二列目("65")にズレる…という認識ですがあってますでしょうか。
|
14
9
|
|
15
10
|
リンク先の動画の 36:61 で、「カウンタ変数に数字が順次代入され」との説明があったので、 sum に 0,1,2,3,4…と足していくものと勘違いしていました。
|
16
11
|
連番なのか、リストの中身の取るかは、ソースによって違うのでしょうか。
|
17
12
|
(range の中に、連番が入っている?)
|
13
|
+
```ここに言語を入力
|
14
|
+
class Student:
|
18
15
|
|
16
|
+
def __init__(self, name):
|
17
|
+
self.name = name
|
18
|
+
|
19
|
+
def calculate_avg(self, data):
|
20
|
+
sum = 0
|
21
|
+
|
22
|
+
# data の 中身である[70,65,50,90,30]を num で左から格納する
|
23
|
+
for num in data:
|
24
|
+
sum += num
|
25
|
+
|
26
|
+
avg =sum/len(data)
|
27
|
+
return avg
|
28
|
+
|
29
|
+
def judge(self, avg):
|
30
|
+
if(avg >= 60):
|
31
|
+
result = "passed"
|
32
|
+
else:
|
33
|
+
result = "failed"
|
34
|
+
return result
|
35
|
+
|
36
|
+
a001 = Student("sato")
|
37
|
+
data = [70,65,50,90,30]
|
38
|
+
avg = a001.calculate_avg(data)
|
39
|
+
judge_result = a001.judge(avg)
|
40
|
+
|
41
|
+
print(avg)
|
42
|
+
print(a001.name)
|
43
|
+
print(judge_result)
|
44
|
+
```
|
45
|
+
|
46
|
+
|
19
47
|
質問2 for文について
|
20
|
-
for 文の
|
48
|
+
下記for 文の iカウンタ変数について質問です。
|
21
|
-
この
|
49
|
+
この "i" の部分は for 文が1週するごとに+1 していく認識なのですが、カウンタはソースの中で勝手に数を足し算できない認識であってますでしょうか。
|
22
|
-
(試しに、下記の3行目の
|
50
|
+
(試しに、下記の3行目の += 10 を追加して、 "i" の中身を 表示させたのですが、for文が回るごとに、足した数がリセットされていました。)
|
51
|
+
```ここに言語を入力
|
52
|
+
for i in range(5):
|
53
|
+
print(i)
|
54
|
+
i += 10
|
55
|
+
print(i)
|
56
|
+
```
|
23
57
|
|
24
58
|
以上、よろしくお願いします。
|