python - 查找文本文件中大于某个数字的数字数量
问题描述
所以基本上对于这个任务,我们得到了 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)
这是我教授的指示:
“编写一个函数来计算所测试车辆模型中耗油量大的数量——对于这个程序,将‘耗油量’定义为城市油耗低于 22 mpg 或高速公路油耗低于 27 mpg 的汽车。”
请帮忙!我非常接近它,我尝试以多种不同的方式将 float(num) 转换为字符串,但它似乎不起作用。
提前致谢!
解决方案
num = 0
被覆盖
for num in list1.readlines():
和
num2+=1
被覆盖
for num2 in list2.readlines():
read/readlines 将返回一个字符串/列表。在你的情况下,我猜这些变量被意外覆盖了——在循环结构中选择不同的变量名,程序应该可以正常工作。
推荐阅读
- javascript - React 使用 Typescript 动态创建 refs
- vb.net - 使用 SMTP 向 Gmail 帐户发送电子邮件时出错
- vue.js - VuesJS 组件模板
- python - 将英国网格坐标 (X,Y) 转换为纬度和经度
- angular - 我可以访问包含在 clipPath 中的多边形中的单击事件吗
- php - 从站点购物车切换到 woocommerce 购物车以进行付款
- typescript - vue-class-component 中的类型不存在属性
- react-native - 如何将 cURL 作为我的 webview 的来源
- azure - Azure DevOps 增量管道
- android - 我有一个更新,然后项目无法连接到 Web 服务。(它落在 catch 块上)