查找文本文件中大于特定数字的数字量

时间:2018-06-04 03:02:58

标签: python string text

所以基本上,对于这项任务,我们获得了2个文本文件,其中包含来自许多汽车的MPG列表,一个文件用于城市中的MPG,另一个文件用于高速公路上的MPG。除了" if"之后的语句,我的所有代码都是正确的。声明。 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)

这是我教授的指示:

&#34;编写一个计算测试车型中耗油量的数量的功能 - 对于此程序,将“耗油量大”定义为车辆低于22 mpg城市或低于27 mpg高速公路&#34;

请帮忙!我非常接近它,我试图以不同的方式将float(num)转换为字符串,但它似乎不起作用。

提前致谢!

1 个答案:

答案 0 :(得分:0)

num = 0

覆盖
for num in list1.readlines(): 

num2+=1

覆盖
for num2 in list2.readlines(): 

read / readlines将返回一个字符串/列表。在你的情况下,我猜这些变量被意外覆盖 - 在循环结构中选择不同的变量名称,程序应该可以正常工作。