我目前在python
中遇到问题! curl https://raw.githubusercontent.com/MicrosoftLearning/intropython/master/world_temp_mean.csv -o mean_temp.txt
mean_temp = open("mean_temp.txt", "a+")
mean_temp.write("Rio de Janeiro,Brazil,30.0,18.0\n")
mean_temp.seek(0)
headings = mean_temp.readline().split(",")
while mean_temp.readline():
city_temp = mean_temp.readline().split(",")
print(headings[0].title(), "of", city_temp[0], headings[2], "is",
city_temp[2], "Celcius")
此代码目前在打印时跳过第一行和每一行
当前输出:
开罗市月平均值:最高点是34.7摄氏度
内罗毕市月平均值:最高点为26.3摄氏度
悉尼市月平均值:最高点是26.5摄氏度
里约热内卢市月份大道:最高点是30.0摄氏度
必需的输出:
北京市月平均值:最高点为30.9摄氏度
开罗市月平均值:最高点是34.7摄氏度
伦敦金融时报月平均值:最高点是23.5摄氏度
内罗毕市月平均值:最高点为26.3摄氏度
纽约市月均值:最高点为28.9摄氏度
悉尼市月平均值:最高点是26.5摄氏度
东京市月平均值:最高点是30.8摄氏度
里约热内卢市月份大道:最高点是30.0摄氏度
感谢您的帮助
答案 0 :(得分:1)
while循环不适合在这里使用。相反,使用for循环;在Python中,文件可以直接迭代。
for line in mean_temp:
city_temp = line.split(",")
答案 1 :(得分:0)
您正在一个循环中读取2行并打印一次。而是使用下面的代码代替while循环:
for row in mean_temp:
city_temp = row.split(",")
print(headings[0].title(), "of", city_temp[0], headings[2], "is", city_temp[2], "Celcius")