teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

参照コードを修正しました。

2020/08/18 12:54

投稿

mannah
mannah

スコア5

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
- これは、 for あとの num という カウンタ変数の中に、data のリストの中の値をはめこんで、一番左の値 である 0列目 (ここで言うと "70")をあてはめて右、for文回って右隣りである二列目("65")にズレる…という認識ですがあってますでしょうか。
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 文の num カウンタ変数について質問です。
48
+ 下記for 文の iカウンタ変数について質問です。
21
- この num に記載されているものは、"i" と記載されることも多いかと思いますが、こ "i" の部分は for 文が1週するごとに+1 していく認識なのですが、カウンタはソースの中で勝手に数を勧められない認識であってますでしょうか。
49
+ この "i" の部分は for 文が1週するごとに+1 していく認識なのですが、カウンタはソースの中で勝手に数を足し算できない認識であってますでしょうか。
22
- (試しに、下記の3行目のを追加して、 "num" の中身を 表示させたのですが、for文が回るごとに、足した数がリセットされていました。)
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
  以上、よろしくお願いします。