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((line%2)== 0)中出现错误:我在其他问题上搜索了相同的错误,但没有一个可以解决问题。错误是:在字符串格式化期间并非所有参数都被转换。我想修改线的位置。例如,如果它是第三行,则为2%2。
答案 0 :(得分:0)
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
是该行的内容。