The code below is a program that reads the specified text file (ave.txt) and produces the average temperature.
Current State Code:
path="ave.txt"
sum = 0.0
a = 0
with open(path, "r") as f:
For lin f:
l = l. strip()
b=l.split(',')
iflen(b) == 1:
name = (b[0].strip('"')
iflen(b) == 2:
sum+=float(b[1].trip('"))
a + = 1
The average temperature for print(f"{name} is {sum/a} degrees.")
ave.txt
"Tokyo"
"January", "-3.6"
"February", "-3.1"
"March", "0.6".
"April", "7.1".
"May", "12.4".
"June", "16.7".
"July", "20.5".
"August", "22.3".
"September", "1
"October", "11.8".
November, 4.9
"December", "-0.9"
It is a program that reads a file and produces an average temperature.
So if you look at the b
of this expression, you'll see this:
b results:
['Tokyo']
["January", "-3.6"]
["February", "-3.1"]
["March", "0.6"]
["April", "7.1"]
["May", "12.4"]
["June", "16.7"]
["July", "20.5"]
["August", "22.3"]
["September", "18.1"]
["October", "11.8"]
["November", "4.9"]
["December", "-0.9"]
What should I do if I want to go from this state to the following state?
Expected results:
January: -3.6 degrees↩
February: -3.1 degrees ↩
March: 0.6 degrees ↩
April: 7.1 degrees ↩
May: 12.4 degrees ↩
June: 16.7 degrees ↩
July: 20.5 degrees ↩
August: 22.3 degrees ↩
September: 18.1 degrees ↩
October: 11.8 degrees ↩
November: 4.9 degrees ↩
December: -0.9 degrees ↩
I'd like to erase ''' and put : in place of ','.
Only the moon and temperature are displayed, not the first line of Tokyo.
The extension is .txt
, but the data content seems to follow the format CSV
.
Rather than just using a number of basic lines, you might want to consider using the standard csv module.
You can do it like this.
import csv
path = 'ave.txt'
#### sum = 0.0
#### a = 0
with open(path, 'r', newline=', encoding='utf-8')ascsvfile:
spamreader=csv.reader(csvfile, delimiter=',',quotechar='")
name=next(spamreader)[0]
For row inspamreader:
#### sum+=float(row[1])
#### a + = 1
print(f'{row[0]}:{row[1]} degrees')
#### The average temperature for print(f"{name} is {sum/a} degrees.")
Comments are made in ###
for the parts that are not required for the "Expected View Results" of the original source.
Also, the display results look like a full-width colon :
, so print() specifies it.
encoding=
should be modified according to the contents of the file.
delimiter=
and quotechar=
are the same as the default values, so you don't have to specify them, but short usage examples on the reference page:
changed and used them, so I put them back in place.
© 2024 OneMinuteCode. All rights reserved.