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

回答編集履歴

3

変数名の改善

2018/11/15 22:01

投稿

hayataka2049
hayataka2049

スコア30939

answer CHANGED
@@ -46,13 +46,13 @@
46
46
  なんかひらめいてしまったので追記しておきます。
47
47
 
48
48
  ```python
49
+ start = 0
49
- n = 42
50
+ end = 42
50
- i = 0
51
51
  while True:
52
- for i in range(i, n):
52
+ for i in range(start, end):
53
53
  print(i, end=" ")
54
54
  if i%4 == 0:
55
- i += 5
55
+ start = i + 5
56
56
  break
57
57
  else:
58
58
  break

2

追記

2018/11/15 22:00

投稿

hayataka2049
hayataka2049

スコア30939

answer CHANGED
@@ -12,7 +12,7 @@
12
12
  # => 0 1 2 3 4 5 6 7 8 9 20 21 22 23 24 25 26 27 28 29
13
13
  ```
14
14
 
15
- ---
15
+ ### 追記1
16
16
 
17
17
  ループ中にStopIteration例外が出てくると面倒というコメントを頂いたので、ちょっと追記。
18
18
 
@@ -40,4 +40,22 @@
40
40
  pass
41
41
  print()
42
42
  # => 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
43
+ ```
44
+
45
+ ### 追記2
46
+ なんかひらめいてしまったので追記しておきます。
47
+
48
+ ```python
49
+ n = 42
50
+ i = 0
51
+ while True:
52
+ for i in range(i, n):
53
+ print(i, end=" ")
54
+ if i%4 == 0:
55
+ i += 5
56
+ break
57
+ else:
58
+ break
59
+ print()
60
+ # => 0 5 6 7 8 13 14 15 16 21 22 23 24 29 30 31 32 37 38 39 40
43
61
  ```

1

追記

2018/11/15 18:31

投稿

hayataka2049
hayataka2049

スコア30939

answer CHANGED
@@ -10,4 +10,34 @@
10
10
  print()
11
11
 
12
12
  # => 0 1 2 3 4 5 6 7 8 9 20 21 22 23 24 25 26 27 28 29
13
+ ```
14
+
15
+ ---
16
+
17
+ ループ中にStopIteration例外が出てくると面倒というコメントを頂いたので、ちょっと追記。
18
+
19
+ ###### 何も対策しない場合
20
+ ```python
21
+ r = iter(range(30))
22
+
23
+ for i in r:
24
+ print(i, end=" ")
25
+ if i == 25:
26
+ for _ in range(10): next(r)
27
+ print()
28
+ # => StopIteration
29
+ ```
30
+ ###### 愚直に握りつぶす
31
+ ```python
32
+ r = iter(range(30))
33
+
34
+ for i in r:
35
+ print(i, end=" ")
36
+ if i == 25:
37
+ try:
38
+ for _ in range(10): next(r)
39
+ except StopIteration:
40
+ pass
41
+ print()
42
+ # => 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
13
43
  ```