Python错误:并非所有参数都在字符串格式化期间转换

2024-04-26 23:55:37 发布

您现在位置:Python中文网/ 问答频道 /正文

def process_cars(text_file):
    total_cmpg = 0
    for line in text_file:
        if((line % 2) == 0):
            city_mpg = (line[52:54])
            print(city_mpg)
            city_mpg = int(city_mpg)
            total_cmpg += city_mpg
    print ("Total miles per gallon in the city:", total_cmpg)

错误出现在if((第%2行)==0):我搜索了其他有相同错误的问题,但没有一个能解决问题。错误是:并非所有参数都在字符串格式化期间转换。我想修改线路的位置。例如,如果是第三行,则为2%2。你知道吗


Tags: textincityforifdef错误line
1条回答
网友
1楼 · 发布于 2024-04-26 23:55:37
def process_cars(text_file):
    total_cmpg = 0
    for file_line_number, line in enumerate(text_file):
        if((file_line_number % 2) == 0):
            city_mpg = (line[52:54])
            print(city_mpg)
            city_mpg = int(city_mpg)
            total_cmpg += city_mpg
    print ("Total miles per gallon in the city:", total_cmpg)

根据您的评论,您只希望每隔x行执行if语句。尝试上面的方法,因为我们使用的是enumerate(),它会记录下对象中的下一个内容。在我们的例子中,它保持了行号的计数,同时仍然告诉我们行是什么。你知道吗

file_line_number是当前的文件编号行,line是行的内容。你知道吗

相关问题 更多 >