回答編集履歴
7
誤字の修正
test
CHANGED
@@ -12,8 +12,8 @@
|
|
12
12
|
import random #【0】
|
13
13
|
|
14
14
|
def f0(hantei): #【12】
|
15
|
-
if hantei == "A": # "A"が代入されている場合は
|
15
|
+
if hantei == "A": # "A"が代入されている場合は 【13】
|
16
|
-
print("aはbより大きい\n") #これをプリント。
|
16
|
+
print("aはbより大きい\n") #これをプリント。 【14】
|
17
17
|
elif hantei == "B":
|
18
18
|
print("aはbより小さい\n")
|
19
19
|
else:
|
6
内容の修正
test
CHANGED
@@ -21,7 +21,7 @@
|
|
21
21
|
|
22
22
|
#================================
|
23
23
|
|
24
|
-
def f1(a,b): # ランダムな数字が代入された a と b を受け取
|
24
|
+
def f1(a,b): # ランダムな数字が代入された a と b を受け取る。【8】
|
25
25
|
if a > b: #【9】
|
26
26
|
print(f"a={a} > b={b}") #【10】
|
27
27
|
return f0("A") # もし a > b なら、 f0(hantei)の hantei に "A"を代入して返す【11】
|
@@ -37,14 +37,14 @@
|
|
37
37
|
|
38
38
|
count = 0 #カウンターを作ります。【1】
|
39
39
|
|
40
|
-
while True: #条件式が無いのでずっと
|
40
|
+
while True: #条件式が無いのでずっとTrue。止める条件が無いと無限ループになる恐れ。【2】
|
41
|
-
count = count + 1 #一回の処理につき「1」を足
|
41
|
+
count = count + 1 #一回の処理につき「1」を足す。【3】
|
42
|
-
if count <= 5: #もしカウントが「5」以下だったら👇以下の処理をし続け
|
42
|
+
if count <= 5: #もしカウントが「5」以下だったら👇以下の処理をし続ける。【4】
|
43
|
-
a = random.randint(1,10) #【5】
|
43
|
+
a = random.randint(1,10) # 1〜10のどれか【5】
|
44
|
-
b = random.randint(1,10) #【6】
|
44
|
+
b = random.randint(1,10) # 1〜10のどれか【6】
|
45
45
|
f1(a,b) #ランダムに出した数を a と b に代入して f1() に渡します。【7】
|
46
46
|
else:
|
47
|
-
break # count が5より大きくなるような事があれば、繰り返しを強制的に中断
|
47
|
+
break # count が5より大きくなるような事があれば、繰り返しを強制的に中断。
|
48
48
|
|
49
49
|
#================================
|
50
50
|
|
@@ -65,7 +65,7 @@
|
|
65
65
|
a=10 > b=5
|
66
66
|
aはbより大きい
|
67
67
|
"""
|
68
|
-
|
68
|
+
#正しく処理されました。
|
69
69
|
```
|
70
70
|
---
|
71
71
|
|
5
内容の修正
test
CHANGED
@@ -3,107 +3,69 @@
|
|
3
3
|
|
4
4
|
しかし、`a=10`,`b=15`のように
|
5
5
|
代入する値が変化しないのならば、無限ループを起こしやすいwhile文は特に必要ないと思われます。
|
6
|
-
returnも返すべきものが特に無さそうです。
|
6
|
+
`return`も返すべきものが特に無さそうです。
|
7
7
|
|
8
|
+
---
|
8
|
-
|
9
|
+
ゴチャッとして見えますが、番号順に読めば流れが分かると思います。👇
|
9
10
|
|
10
11
|
```Python
|
12
|
+
import random #【0】
|
13
|
+
|
11
|
-
def f
|
14
|
+
def f0(hantei): #【12】
|
15
|
+
if hantei == "A": # "A"が代入されている場合は #【13】
|
16
|
+
print("aはbより大きい\n") #これをプリント。 #【14】
|
12
|
-
if a
|
17
|
+
elif hantei == "B":
|
13
|
-
print("aはbより
|
18
|
+
print("aはbより小さい\n")
|
19
|
+
else:
|
20
|
+
print("aとbは等しい\n")
|
21
|
+
|
22
|
+
#================================
|
23
|
+
|
24
|
+
def f1(a,b): # ランダムな数字が代入された a と b を受け取ります。【8】
|
25
|
+
if a > b: #【9】
|
26
|
+
print(f"a={a} > b={b}") #【10】
|
27
|
+
return f0("A") # もし a > b なら、 f0(hantei)の hantei に "A"を代入して返す【11】
|
14
28
|
elif a < b:
|
15
|
-
print("a
|
29
|
+
print(f"a={a} < b={b}")
|
30
|
+
return f0("B")
|
16
|
-
else:
|
31
|
+
else:
|
17
|
-
print("a
|
32
|
+
print(f"a={a} = b={b}")
|
33
|
+
return f0("C")
|
18
34
|
|
35
|
+
#================================
|
36
|
+
|
37
|
+
|
38
|
+
count = 0 #カウンターを作ります。【1】
|
39
|
+
|
40
|
+
while True: #条件式が無いのでずっと「True」。止める処理がないと無限ループになる恐れがあります。【2】
|
41
|
+
count = count + 1 #一回の処理につき「1」を足し続けます。【3】
|
42
|
+
if count <= 5: #もしカウントが「5」以下だったら👇以下の処理をし続けます。【4】
|
43
|
+
a = random.randint(1,10) #【5】
|
44
|
+
b = random.randint(1,10) #【6】
|
45
|
+
f1(a,b) #ランダムに出した数を a と b に代入して f1() に渡します。【7】
|
46
|
+
else:
|
47
|
+
break # count が5より大きくなるような事があれば、繰り返しを強制的に中断します。
|
48
|
+
|
49
|
+
#================================
|
50
|
+
|
51
|
+
#出力結果(毎回異なる)
|
52
|
+
"""
|
53
|
+
a=8 > b=1
|
54
|
+
aはbより大きい
|
55
|
+
|
56
|
+
a=3 > b=2
|
57
|
+
aはbより大きい
|
58
|
+
|
59
|
+
a=9 = b=9
|
60
|
+
aとbは等しい
|
61
|
+
|
62
|
+
a=4 < b=6
|
63
|
+
aはbより小さい
|
64
|
+
|
19
|
-
|
65
|
+
a=10 > b=5
|
66
|
+
aはbより大きい
|
67
|
+
"""
|
68
|
+
|
20
69
|
```
|
21
|
-
このように書けると思います。
|
22
|
-
|
23
|
-
`def f1(a=10,b=10):`と書いていますが、
|
24
|
-
これだけでは「**関数を定義しただけ**」になりますので、何も動きません。
|
25
|
-
|
26
|
-
👆最後の行のように、
|
27
|
-
インデントせずに`f1()`のように書くことで
|
28
|
-
関数`f1()`が呼び出されて一連の処理が始まります。
|
29
|
-
|
30
70
|
---
|
31
71
|
|
32
|
-
①
|
33
|
-
```Python
|
34
|
-
def f1(a=10,b=15): #ここで代入してしまう
|
35
|
-
#処理...
|
36
|
-
|
37
|
-
f1()
|
38
|
-
```
|
39
|
-
②
|
40
|
-
```Python
|
41
|
-
def f1(a,b): #引数を用意して
|
42
|
-
#処理...
|
43
|
-
|
44
|
-
f1(10,15) #代入する値をここで決める
|
45
|
-
```
|
46
|
-
③
|
47
|
-
```Python
|
48
|
-
a = 10 #ここで先に代入してしまう
|
49
|
-
b = 15
|
50
|
-
|
51
|
-
def f1(a,b): #a=10,b=15がもう代入されている
|
52
|
-
#処理...
|
53
|
-
|
54
|
-
f1(a,b) #このカッコ内のa,bは省略できない
|
55
|
-
```
|
56
|
-
`a`に`10`、`b`に`15`を代入するという意味では
|
57
|
-
3つとも結果は同じになります。
|
58
|
-
|
59
|
-
---
|
60
|
-
|
61
|
-
私なりにwhileやreturnを使ってみます。(※ミスがあった為差し替え)
|
62
|
-
```Python
|
63
|
-
import random
|
64
|
-
|
65
|
-
def f(a):
|
66
|
-
if a == 10: ❹
|
67
|
-
print(a) ❺
|
68
|
-
return True ❻
|
69
|
-
else:
|
70
|
-
print(a)
|
71
|
-
return False
|
72
|
-
|
73
|
-
switch = "オン!" ❶
|
74
|
-
|
75
|
-
while switch == "オン!": ❷
|
76
|
-
if f(random.randint(1,10))❸ == True: ❼
|
77
|
-
print("当たり") ❽
|
78
|
-
switch = "オフ!" ❾
|
79
|
-
else:
|
80
|
-
print("ハズレ")
|
81
|
-
switch = "オン!"
|
82
|
-
|
83
|
-
```
|
84
|
-
👆コピーしてコンソール出力すると分かるかもしれません。
|
85
|
-
|
86
|
-
❶まず、変数`switch`用意して、
|
87
|
-
`"オン!"`という文字を代入した状態でスタートします。 ( `switch = "オン!"` )
|
88
|
-
|
89
|
-
❷`switch` に `"オン!"` が代入されている間は、
|
90
|
-
|
91
|
-
`while` 以下の処理を繰り返します。 ( `while switch == "オン!":` )
|
92
|
-
|
93
|
-
(繰り返しを止めたければ「switch」に「"オン!"」以外の何かを代入すればOK)
|
94
|
-
|
95
|
-
|
96
|
-
❸`f(a)` の `a` には、1〜10の中からランダムに選ばれた数字ひとつが代入されます。( `random.randint(1,10)` )
|
97
|
-
|
98
|
-
❹もしその選ばれた数字が「10」だった場合は ( `if a == 10:` )
|
99
|
-
|
100
|
-
❺その数を出力した後に ( `print(a)` )
|
101
|
-
|
102
|
-
❻`True` を関数の外にあげます。 ( `return True` )
|
103
|
-
|
104
|
-
❼もし、 `True` をもらった場合は、( `if f(random.randint(1,10)) == True:` )
|
105
|
-
|
106
|
-
❽「当たり」と表示しますよ ( `print("当たり")` )
|
107
|
-
|
108
|
-
❾そして `switch` を `"オフ!"` にして処理を止めます。 ( `switch = "オフ!"` )
|
109
|
-
|
4
追記
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
while文を使う事になると思います。
|
3
3
|
|
4
4
|
しかし、`a=10`,`b=15`のように
|
5
|
-
代入する値が変化しないのならば、while文は特に必要ないと思われます。
|
5
|
+
代入する値が変化しないのならば、無限ループを起こしやすいwhile文は特に必要ないと思われます。
|
6
6
|
returnも返すべきものが特に無さそうです。
|
7
7
|
|
8
8
|
「入力した数字を比較したい」だけでしたら、例えば
|
3
内容の改善
test
CHANGED
@@ -63,19 +63,19 @@
|
|
63
63
|
import random
|
64
64
|
|
65
65
|
def f(a):
|
66
|
-
if a == 10:
|
66
|
+
if a == 10: ❹
|
67
|
-
print(a)
|
67
|
+
print(a) ❺
|
68
|
-
return True
|
68
|
+
return True ❻
|
69
69
|
else:
|
70
70
|
print(a)
|
71
71
|
return False
|
72
72
|
|
73
|
-
switch = "オン!"
|
73
|
+
switch = "オン!" ❶
|
74
74
|
|
75
|
-
while switch == "オン!":
|
75
|
+
while switch == "オン!": ❷
|
76
|
-
if f(random.randint(1,10)) == True:
|
76
|
+
if f(random.randint(1,10))❸ == True: ❼
|
77
|
-
print("当たり")
|
77
|
+
print("当たり") ❽
|
78
|
-
switch = "オフ!"
|
78
|
+
switch = "オフ!" ❾
|
79
79
|
else:
|
80
80
|
print("ハズレ")
|
81
81
|
switch = "オン!"
|
2
内容の修正
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
ある条件を満たす限り同じ処理を続けたい場合なら
|
1
|
+
**ある条件を満たす限り同じ処理を続けたい場合**なら
|
2
2
|
while文を使う事になると思います。
|
3
3
|
|
4
4
|
しかし、`a=10`,`b=15`のように
|
@@ -21,61 +21,89 @@
|
|
21
21
|
このように書けると思います。
|
22
22
|
|
23
23
|
`def f1(a=10,b=10):`と書いていますが、
|
24
|
-
これだけでは「関数を定義しただけ」になりますので、何も動きません。
|
24
|
+
これだけでは「**関数を定義しただけ**」になりますので、何も動きません。
|
25
25
|
|
26
26
|
👆最後の行のように、
|
27
27
|
インデントせずに`f1()`のように書くことで
|
28
28
|
関数`f1()`が呼び出されて一連の処理が始まります。
|
29
29
|
|
30
|
+
---
|
31
|
+
|
30
32
|
①
|
31
33
|
```Python
|
32
|
-
def f1(a=10,b=15):
|
34
|
+
def f1(a=10,b=15): #ここで代入してしまう
|
33
35
|
#処理...
|
34
36
|
|
35
37
|
f1()
|
36
38
|
```
|
37
39
|
②
|
38
40
|
```Python
|
39
|
-
def f1(a,b):
|
41
|
+
def f1(a,b): #引数を用意して
|
40
42
|
#処理...
|
41
43
|
|
42
|
-
f1(10,15)
|
44
|
+
f1(10,15) #代入する値をここで決める
|
43
45
|
```
|
44
46
|
③
|
45
47
|
```Python
|
46
|
-
a = 10
|
48
|
+
a = 10 #ここで先に代入してしまう
|
47
49
|
b = 15
|
48
50
|
|
49
|
-
def f1(a,b):
|
51
|
+
def f1(a,b): #a=10,b=15がもう代入されている
|
50
52
|
#処理...
|
51
53
|
|
52
|
-
f1(a,b)
|
54
|
+
f1(a,b) #このカッコ内のa,bは省略できない
|
53
55
|
```
|
54
56
|
`a`に`10`、`b`に`15`を代入するという意味では
|
55
57
|
3つとも結果は同じになります。
|
56
58
|
|
59
|
+
---
|
57
60
|
|
58
|
-
私なりにwhileやreturnを使ってみます。
|
61
|
+
私なりにwhileやreturnを使ってみます。(※ミスがあった為差し替え)
|
59
62
|
```Python
|
60
63
|
import random
|
61
64
|
|
62
|
-
def f
|
65
|
+
def f(a):
|
63
|
-
a = random.randint(1,50)
|
64
|
-
b = random.randint(1,50)
|
65
|
-
if a==
|
66
|
+
if a == 10:
|
66
|
-
print(
|
67
|
+
print(a)
|
68
|
+
return True
|
69
|
+
else:
|
70
|
+
print(a)
|
67
71
|
return False
|
72
|
+
|
73
|
+
switch = "オン!"
|
74
|
+
|
75
|
+
while switch == "オン!":
|
76
|
+
if f(random.randint(1,10)) == True:
|
77
|
+
print("当たり")
|
78
|
+
switch = "オフ!"
|
68
79
|
else:
|
69
|
-
print(
|
80
|
+
print("ハズレ")
|
70
|
-
return True
|
71
|
-
|
72
|
-
wh
|
81
|
+
switch = "オン!"
|
73
|
-
f1() #f1()を実行し続ける
|
74
82
|
|
75
83
|
```
|
84
|
+
👆コピーしてコンソール出力すると分かるかもしれません。
|
76
85
|
|
86
|
+
❶まず、変数`switch`用意して、
|
87
|
+
`"オン!"`という文字を代入した状態でスタートします。 ( `switch = "オン!"` )
|
88
|
+
|
89
|
+
❷`switch` に `"オン!"` が代入されている間は、
|
90
|
+
|
91
|
+
`while` 以下の処理を繰り返します。 ( `while switch == "オン!":` )
|
92
|
+
|
77
|
-
「
|
93
|
+
(繰り返しを止めたければ「switch」に「"オン!"」以外の何かを代入すればOK)
|
94
|
+
|
95
|
+
|
96
|
+
❸`f(a)` の `a` には、1〜10の中からランダムに選ばれた数字ひとつが代入されます。( `random.randint(1,10)` )
|
97
|
+
|
98
|
+
❹もしその選ばれた数字が「10」だった場合は ( `if a == 10:` )
|
99
|
+
|
100
|
+
❺その数を出力した後に ( `print(a)` )
|
101
|
+
|
78
|
-
`True`
|
102
|
+
❻`True` を関数の外にあげます。 ( `return True` )
|
103
|
+
|
79
|
-
|
104
|
+
❼もし、 `True` をもらった場合は、( `if f(random.randint(1,10)) == True:` )
|
80
|
-
|
105
|
+
|
81
|
-
当た
|
106
|
+
❽「当たり」と表示しますよ ( `print("当たり")` )
|
107
|
+
|
108
|
+
❾そして `switch` を `"オフ!"` にして処理を止めます。 ( `switch = "オフ!"` )
|
109
|
+
|
1
誤字の修正
test
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
|
4
4
|
しかし、`a=10`,`b=15`のように
|
5
5
|
代入する値が変化しないのならば、while文は特に必要ないと思われます。
|
6
|
-
retunも返すべきものが特に無さそうです。
|
6
|
+
returnも返すべきものが特に無さそうです。
|
7
7
|
|
8
8
|
「入力した数字を比較したい」だけでしたら、例えば
|
9
9
|
|
@@ -66,7 +66,7 @@
|
|
66
66
|
print(f"{a},{b} 同じ数字!")
|
67
67
|
return False
|
68
68
|
else:
|
69
|
-
print(f"{a},{b}
|
69
|
+
print(f"{a},{b} ハズレ")
|
70
70
|
return True
|
71
71
|
|
72
72
|
while f1() == True: #f1()から「True」が返ってくる内は
|