Найти количество чисел в текстовом файле, которые превышают определенное число - PullRequest
0 голосов
/ 04 июня 2018

Так что в основном для этого задания нам дали 2 текстовых файла со списком MPG от многих автомобилей, один файл был для MPG в городе, а другой - MPG на шоссе.У меня есть весь код правильно, за исключением утверждений после утверждения "если".Python продолжает говорить следующее:

Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    GasGuzzlers("carModelData_city", "carModelData_hwy")
 File "<pyshell#2>", line 7, in GasGuzzlers
    num+=1
TypeError: must be str, not int 

Это мой код:

def GasGuzzlers(list1, list2):
    num = 0
    num2 = 0
    with open(list1, "r") as list1: 
        for num in list1.readlines(): 
            if (float(num) < 22.0):
                num+=1
    with open(list2, "r") as list2:
        for num2 in list2.readlines(): 
             if (float(num2) < 27.0):
                num2+=1
    print(count1, count2)

Это была инструкция моего профессора:

"Напишите функцию, которая вычисляет числогазопоглотители среди протестированных моделей транспортных средств - для этой программы определите «газопоглотитель» как автомобиль, который получает НИКОГДА менее 22 миль на галлон по городу ИЛИ менее 27 миль на галлон по шоссе. "

Пожалуйста, помогите!Я так близок к получению, я пытался преобразовать float (num) в строку различными способами, и это, похоже, не работает.

Заранее спасибо!

1 Ответ

0 голосов
/ 04 июня 2018
num = 0

переопределяется

for num in list1.readlines(): 

, а

num2+=1

переопределяется

for num2 in list2.readlines(): 

read / readlines возвращает строку / список.В вашем случае, я думаю, переменные случайно переопределены - выберите разные имена переменных в конструкциях цикла, и программа должна работать нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...