回答編集履歴

3

コード追加

2022/07/23 23:46

投稿

quickquip
quickquip

スコア11055

test CHANGED
@@ -12,7 +12,7 @@
12
12
  l2 = [30, 40]
13
13
 
14
14
 
15
- for i, (a, b) in enumerate(zip(l1, l2)):
15
+ for i, (a, b) in enumerate(zip(l1, l2), start=1):
16
16
  target = 35
17
17
 
18
18
  if a == '<':
@@ -23,12 +23,30 @@
23
23
  raise RuntimeError
24
24
 
25
25
  if result:
26
- print(f'{i+1}回目', 'OK')
26
+ print(f'{i}回目', 'OK')
27
27
  else:
28
- print(f'{i+1}回目', 'NG')
28
+ print(f'{i}回目', 'NG')
29
29
  ```
30
30
 
31
31
  ----
32
32
 
33
- [operator.lt](https://docs.python.org/ja/3/library/operator.html#operator.lt)とoperator.gtあたりでもいいかと。
33
+ [operator.lt](https://docs.python.org/ja/3/library/operator.html#operator.lt)とoperator.gtあたりで
34
34
 
35
+ ```python
36
+ from operator import gt, lt
37
+
38
+ l1 = ['>', '<']
39
+ l2 = [30, 40]
40
+
41
+ comp = {'>': gt, '<': lt}
42
+
43
+ for i, (a, b) in enumerate(zip(l1, l2), start=1):
44
+ if comp[a](35, b):
45
+ print(f'{i}回目', 'OK')
46
+ else:
47
+ print(f'{i}回目', 'NG')
48
+ ```
49
+
50
+ もいいかと。
51
+
52
+

2

例外名間違えてた

2022/07/23 08:48

投稿

quickquip
quickquip

スコア11055

test CHANGED
@@ -1,6 +1,6 @@
1
1
  普通の処理で解決するべきであって`eval`などを**安易に使ってはいけない**
2
2
  特に初心者に`eval`(や`exec`)のような方法を**安易に教えてはいけない**
3
- 思っている人は多そうで、それが回答の評価にそのまま出ている気がします。
3
+ と思っている人は多そうで、それが回答の評価にそのまま出ている気がします。
4
4
 
5
5
  普通のプログラミングで解決できない人が、メタプログラミングをやろうとするのはよくないと思います。
6
6
  "黒魔術"と呼称されるのは、そのような**禁忌**の意味も込められているかと。
@@ -20,7 +20,7 @@
20
20
  elif a == '>':
21
21
  result = target > b
22
22
  else:
23
- raise RuntimeException
23
+ raise RuntimeError
24
24
 
25
25
  if result:
26
26
  print(f'{i+1}回目', 'OK')

1

些細

2022/07/23 08:22

投稿

quickquip
quickquip

スコア11055

test CHANGED
@@ -1,5 +1,5 @@
1
- 普通の処理で解決するべきであって`eval`などを使ってはいけない
1
+ 普通の処理で解決するべきであって`eval`などを**安易に使ってはいけない**
2
- 特に初心者に`eval`(や`exec`)のような方法を**安易に教えてはいけない**
2
+ 特に初心者に`eval`(や`exec`)のような方法を**安易に教えてはいけない**
3
3
  と、思っている人は多そうで、それが回答の評価にそのまま出ている気がします。
4
4
 
5
5
  普通のプログラミングで解決できない人が、メタプログラミングをやろうとするのはよくないと思います。