回答編集履歴
3
インデント調整
answer
CHANGED
@@ -15,7 +15,7 @@
|
|
15
15
|
nums = []
|
16
16
|
for item in p.readlines():
|
17
17
|
nums.append(int(item))
|
18
|
-
|
18
|
+
# nums = [int(item) for item in p.readlines()] 上3行の内包表記
|
19
19
|
print(f"{sum(nums)}cm")
|
20
20
|
```
|
21
21
|
あと、現在読み書きしているファイルはただのテキストファイルですので、拡張子は.txtがいいと思います。
|
2
追記
answer
CHANGED
@@ -9,13 +9,13 @@
|
|
9
9
|
他にファイルの読み込みはreadline()とreadlines()があります。
|
10
10
|
詳細はググってください。
|
11
11
|
|
12
|
-
素直にやるならreadlines()でファイル全部をリストとして読み込み、一つ一つの要素をint型にして新しいリストに追記していくのが一番分かりやすいでしょう
|
12
|
+
素直にやるならreadlines()でファイル全部をリストとして読み込み、一つ一つの要素をint型にして新しいリストに追記していくのが一番分かりやすいでしょう。
|
13
|
-
それが以下のコードです。
|
14
13
|
```python
|
15
14
|
with open("Moving.xlsx", "r") as p:
|
16
15
|
nums = []
|
17
16
|
for item in p.readlines():
|
18
17
|
nums.append(int(item))
|
18
|
+
# nums = [int(item) for item in p.readlines()] 上3行の内包表記
|
19
19
|
print(f"{sum(nums)}cm")
|
20
20
|
```
|
21
21
|
あと、現在読み書きしているファイルはただのテキストファイルですので、拡張子は.txtがいいと思います。
|
1
追記
answer
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
問題の根本は文字列をlistしたらどうなるか?です。
|
2
2
|
print(list("123456"))
|
3
3
|
とやってみたら分かりますが、1文字づつ区切られたリストになります。
|
4
|
+
なので当然3と2が分かれて別々に足されます(手元では33でしたが・・・)
|
4
5
|
|
5
6
|
で、やりたい事が何かというと、ファイルの1行をint型の1要素としたリストを作ってそれを計算したいのですよね?
|
6
7
|
であれば、read()で一括取得した時は改行文字で分割してリストにすればいい事になりますが・・・最後に改行だけの行があるので話しが長くなるのでやめましょう。。
|