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

回答編集履歴

7

誤字の修正

2022/08/09 01:18

投稿

Plasma
Plasma

スコア17

answer 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

answer 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,6 +65,6 @@
65
65
  a=10 > b=5
66
66
  aはbより大きい
67
67
  """
68
-
68
+ #正しく処理されました。
69
69
  ```
70
70
  ---

5

内容の修正

2022/08/09 01:10

投稿

Plasma
Plasma

スコア17

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

4

追記

2022/08/08 17:16

投稿

Plasma
Plasma

スコア17

answer 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

answer 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

answer CHANGED
@@ -1,4 +1,4 @@
1
- ある条件を満たす限り同じ処理を続けたい場合なら
1
+ **ある条件を満たす限り同じ処理を続けたい場合**なら
2
2
  while文を使う事になると思います。
3
3
 
4
4
  しかし、`a=10`,`b=15`のように
@@ -21,61 +21,88 @@
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
81
+ switch = "オン!"
71
82
 
72
- while f1() == True: #f1()から「True」が返ってくる内は
73
- f1() #f1()を実行し続ける
74
-
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 = "オフ!"` )

1

誤字の修正

2022/08/08 06:58

投稿

Plasma
Plasma

スコア17

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