鱼C论坛

 找回密码
 立即注册
查看: 4986|回复: 15

有BUG!Python35讲图形作业中第四个编程题统计代码行数小甲鱼答案有问BUG!

[复制链接]
发表于 2016-8-31 22:23:45 | 显示全部楼层 |阅读模式
2鱼币
我经过反复测试后,依次打印我编写的每个.py程序的行数,只有极少数显示统计的行数非零!!!这显然是不可能的!
问题出在小甲鱼的答案代码的def calc_code(file_name)函数中
但是我并不清楚为什么会出现问题,没能按照要求统计出正确的代码行数。
但我测试后发现如果.py程序中出现了(#注解),就无法正常统计行数,这是造成我绝大部分代码行数显示为零的原因,因为我大部分都有注解!
求各位大神给出回复,多谢多谢

最佳答案

查看完整内容

目测改成这样就行了,用这种方法打开,就不需要考虑编码问题。有问题要自己想办法改呀,吵是没用的。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-8-31 22:23:46 | 显示全部楼层
目测改成这样就行了,用这种方法打开,就不需要考虑编码问题。有问题要自己想办法改呀,吵是没用的。
  1. with open(file_name,"rb") as f:
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-8-31 22:36:41 | 显示全部楼层
这是编码的问题 仔细看看 源码中有一个关于打开文件编码的说明
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-8-31 22:55:10 | 显示全部楼层
qaz505876013 发表于 2016-8-31 22:36
这是编码的问题 仔细看看 源码中有一个关于打开文件编码的说明

并不明白你在说什么,能不能具体点?哪有打开文件编码的说明,求截图?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-8-31 23:09:22 | 显示全部楼层
QQ截图20160831230849.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-8-31 23:10:04 | 显示全部楼层
except UnicodeDecodeError
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-8-31 23:11:10 | 显示全部楼层
# 不可避免会遇到格式不兼容的文件,这里忽略掉...... 这里不是说明吗
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-9-1 00:45:35 | 显示全部楼层
qaz505876013 发表于 2016-8-31 23:11
# 不可避免会遇到格式不兼容的文件,这里忽略掉...... 这里不是说明吗

请问你仔细看过我的提问吗?
不可兼容能有95%都不兼容吗,如果是这样的话,说明这个程序编写有问题,实现不了我们之前设定的要求啊?
而且我专门试了一个程序 有注解显示行数为零 无注解正常显示!请问为什么?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-9-1 20:44:30 | 显示全部楼层
可能是编码问题
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-9-1 22:46:04 | 显示全部楼层
告诉了你不兼容 所以还想怎样啦?要不你去掉except吧 自己看会不会报错 OK?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-9-1 22:46:37 | 显示全部楼层
所以你觉得怎么样的回答才是你需要的?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-9-1 22:48:41 | 显示全部楼层
我告诉你 就是95%的文件不能正常识别 但是程序本身没有问题
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-9-2 21:27:42 | 显示全部楼层
qaz505876013 发表于 2016-9-1 22:48
我告诉你 就是95%的文件不能正常识别 但是程序本身没有问题

这么多不能识别 程序编出来有啥意义!
编程序实现不了功能那编个毛线!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-10-7 16:16:30 | 显示全部楼层
with open(file_name, 'rb') as f:

加上'rb',就可以了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-2-23 14:39:29 | 显示全部楼层
流氓大叔 发表于 2016-8-31 22:23
目测改成这样就行了,用这种方法打开,就不需要考虑编码问题。有问题要自己想办法改呀,吵是没用的。

您好,想问一下不加rb,就不是用二进制打开,就不会计数是为什么呀?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-3-1 18:26:01 | 显示全部楼层
2hanhan 发表于 2020-2-23 14:39
您好,想问一下不加rb,就不是用二进制打开,就不会计数是为什么呀?

同问,而且我还发现,用来读取前几节课用Pickle法保存的二进制'.txt'文件,读取出来行数也不准确,会比实际多。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-13 03:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表