回答編集履歴
1
Add second answer
test
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
## 元の回答
|
2
|
+
|
3
|
+
|
4
|
+
|
1
5
|
10進数に限定した対応方法ですが、文字列として処理してしまう方法をご紹介します
|
2
6
|
|
3
7
|
|
@@ -114,7 +118,7 @@
|
|
114
118
|
|
115
119
|
|
116
120
|
|
117
|
-
## 注意点
|
121
|
+
### 注意点
|
118
122
|
|
119
123
|
|
120
124
|
|
@@ -123,3 +127,101 @@
|
|
123
127
|
異なるデータが与えられた場合には想定していないエラーが発生する可能性があります
|
124
128
|
|
125
129
|
たとえば、「ピリオドを含まない数値の文字列が与えられた場合」などです
|
130
|
+
|
131
|
+
|
132
|
+
|
133
|
+
## 追記
|
134
|
+
|
135
|
+
|
136
|
+
|
137
|
+
> 総計1863016.52、数値の文字数113がプリント出力されるには
|
138
|
+
|
139
|
+
> def desimaaliluku文とdef numeromerkki文をどう変更したらよろしいでしょうか?
|
140
|
+
|
141
|
+
> 最終結果のみプリント出力したいのですが、どうへんこうしたらよいでしょうか?
|
142
|
+
|
143
|
+
|
144
|
+
|
145
|
+
次のように変更します
|
146
|
+
|
147
|
+
|
148
|
+
|
149
|
+
`desimaaliluku()`:
|
150
|
+
|
151
|
+
|
152
|
+
|
153
|
+
```python
|
154
|
+
|
155
|
+
def desimaaliluku():
|
156
|
+
|
157
|
+
tiedosto=open("liukulukuja.txt","r",encoding="utf-8")
|
158
|
+
|
159
|
+
sum=0
|
160
|
+
|
161
|
+
for i in tiedosto.readlines():
|
162
|
+
|
163
|
+
index_period = i.find(".")
|
164
|
+
|
165
|
+
number = i[:index_period + 3]
|
166
|
+
|
167
|
+
# print(number)
|
168
|
+
|
169
|
+
sum = sum + float(number)
|
170
|
+
|
171
|
+
tiedosto.close()
|
172
|
+
|
173
|
+
print(sum)
|
174
|
+
|
175
|
+
return sum
|
176
|
+
|
177
|
+
```
|
178
|
+
|
179
|
+
|
180
|
+
|
181
|
+
`numeromerkki()`:
|
182
|
+
|
183
|
+
|
184
|
+
|
185
|
+
```python
|
186
|
+
|
187
|
+
def numeromerkki(): # ピリオド以外の数をカウントしてプリント出力
|
188
|
+
|
189
|
+
tiedosto=open("liukulukuja.txt","r",encoding="utf-8")
|
190
|
+
|
191
|
+
sum=0
|
192
|
+
|
193
|
+
for i in tiedosto.readlines():
|
194
|
+
|
195
|
+
# 文字列からピリオドと改行コードを取り除きます
|
196
|
+
|
197
|
+
a = i.replace(".", "").replace("\r", "").replace("\n", "")
|
198
|
+
|
199
|
+
count = len(a)
|
200
|
+
|
201
|
+
# print(count)
|
202
|
+
|
203
|
+
sum = sum + count
|
204
|
+
|
205
|
+
tiedosto.close()
|
206
|
+
|
207
|
+
print(sum)
|
208
|
+
|
209
|
+
return sum
|
210
|
+
|
211
|
+
```
|
212
|
+
|
213
|
+
|
214
|
+
|
215
|
+
実行結果:
|
216
|
+
|
217
|
+
|
218
|
+
|
219
|
+
```python
|
220
|
+
|
221
|
+
$ python test.py
|
222
|
+
|
223
|
+
1863016.47
|
224
|
+
|
225
|
+
113
|
226
|
+
|
227
|
+
```
|