回答編集履歴

7

誤字の修正

2022/08/09 01:18

投稿

Plasma
Plasma

スコア17

test CHANGED
@@ -12,8 +12,8 @@
12
12
  import random #【0】
13
13
 
14
14
  def f0(hantei): #【12】
15
- if hantei == "A": # "A"が代入されている場合は #【13】
15
+ if hantei == "A": # "A"が代入されている場合は 【13】
16
- print("aはbより大きい\n") #これをプリント。 #【14】
16
+ print("aはbより大きい\n") #これをプリント。 【14】
17
17
  elif hantei == "B":
18
18
  print("aはbより小さい\n")
19
19
  else:

6

内容の修正

2022/08/09 01:16

投稿

Plasma
Plasma

スコア17

test CHANGED
@@ -21,7 +21,7 @@
21
21
 
22
22
  #================================
23
23
 
24
- def f1(a,b): # ランダムな数字が代入された a と b を受け取ります。【8】
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: #条件式が無いのでずっとTrue。止める処理いと無限ループになる恐れがあります。【2】
40
+ while True: #条件式が無いのでずっとTrue。止める条件いと無限ループになる恐れ。【2】
41
- count = count + 1 #一回の処理につき「1」を足し続けます。【3】
41
+ count = count + 1 #一回の処理につき「1」を足す。【3】
42
- if count <= 5: #もしカウントが「5」以下だったら👇以下の処理をし続けます。【4】
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

内容の修正

2022/08/09 01:10

投稿

Plasma
Plasma

スコア17

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 f1(a=10, b=15):
14
+ def f0(hantei): #【12】
15
+ if hantei == "A": # "A"が代入されている場合は #【13】
16
+ print("aはbより大きい\n") #これをプリント。 #【14】
12
- if a > b:
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("abより小さい")
29
+ print(f"a={a} < b={b}")
30
+ return f0("B")
16
- else:
31
+ else:
17
- print("abは同じ")
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
- f1() #実行にはこれが必要
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

追記

2022/08/08 17:16

投稿

Plasma
Plasma

スコア17

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

内容の改善

2022/08/08 17:10

投稿

Plasma
Plasma

スコア17

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

内容の修正

2022/08/08 17:06

投稿

Plasma
Plasma

スコア17

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 f1():
65
+ def f(a):
63
- a = random.randint(1,50)
64
- b = random.randint(1,50)
65
- if a==b:
66
+ if a == 10:
66
- print(f"{a},{b} 同じ数字!")
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(f"{a},{b} ハズレ")
80
+ print("ハズレ")
70
- return True
71
-
72
- while f1() == True: #f1()から「True」が返ってくる内は
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
- ランダムに出る2つの数字が`a==b`になるまで`print(f"{a},{b}→ハズレ")`命令続けたい」ので、
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`が返ってくる間は`f1()`実行するようしてみした
102
+ `True` 関数の外あげ ( `return True` )
103
+
79
- aとbの数字が揃った時に`False`を返して繰り返しを止めるようにしています。
104
+ ❼もし、 `True` をもらった場合は、( `if f(random.randint(1,10)) == True:` )
80
- ハズレなのに`True`を返すのがややこしいですが、
105
+
81
- 当たるまで機械のスイッチをオンに続けるのと同じと考えれば、理解できると思います
106
+ ❽「当たり」と表示しますよ ( `print("当たり")` )
107
+
108
+ ❾そして `switch` を `"オフ!"` にして処理を止めます。 ( `switch = "オフ!"` )
109
+

1

誤字の修正

2022/08/08 06:58

投稿

Plasma
Plasma

スコア17

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」が返ってくる内は