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

回答編集履歴

2

コードを動くように変更

2019/03/30 07:34

投稿

kokorin
kokorin

スコア73

answer CHANGED
@@ -6,11 +6,25 @@
6
6
  2. そうでないなら改行を表示
7
7
  3. hogeを表示
8
8
 
9
- こんなかんじです
9
+ 書き直しました。
10
10
  ```
11
- if 前の行の符号と一致している かつ 数字の差が10以下:
11
+ with open("data", "r") as f:
12
+ tmp, hoge, prev, tmp, psign = f.readline().split()
13
+ prev = int(prev)
12
- print("=")
14
+ print(hoge, end="")
15
+
16
+ for line in f:
17
+ values = line.strip().split()
18
+ if int(values[2]) - prev < 10 and values[4] == psign:
19
+ print("-", end="")
13
- else:
20
+ else:
14
- print()
21
+ print()
22
+ print(values[1], end="")
23
+
24
+ prev = int(values[3])
25
+ psign = values[4]
15
- print(ほげー)
26
+ print()
16
- ```
27
+ ```
28
+
29
+ withの後の3行は初期化。
30
+ for文の中でprevとpsign(previous-sign)を保存しておき、次の行の数字の差と符号を比較しています。

1

コードを追加

2019/03/30 07:34

投稿

kokorin
kokorin

スコア73

answer CHANGED
@@ -4,4 +4,13 @@
4
4
  よって、以下の3つの方策でこれは実現できます。
5
5
  1. 前の行の符号と一致している かつ 数字の差が10以下ならハイフンを表示
6
6
  2. そうでないなら改行を表示
7
- 3. hogeを表示
7
+ 3. hogeを表示
8
+
9
+ こんなかんじです
10
+ ```
11
+ if 前の行の符号と一致している かつ 数字の差が10以下:
12
+ print("=")
13
+ else:
14
+ print()
15
+ print(ほげー)
16
+ ```