鱼C论坛

 找回密码
 立即注册
查看: 944|回复: 5

30课0练习题

[复制链接]
发表于 2019-1-25 12:36:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
能运行,但是不能正常运行,那里错了要怎么简单的修改一下,大佬们教一下
  1. import os
  2. num = 0
  3. num1 = 0
  4. num2 = 0
  5. num3 = 0
  6. num4 = 0


  7. def each_num(address):
  8.     for adds in address:
  9.         if os.path.isdir(adds):
  10.             num4 += 1

  11.         else:
  12.         
  13.         
  14.         
  15.             while 1:
  16.                 add = os.path.splitext(adds)[1]
  17.                 if add == '.txt':
  18.                     num += 1
  19.                 elif add == '.exe':
  20.                     num1 += 1
  21.                 elif add == '.py':
  22.                     num2 += 1
  23.                 elif add == '.dll':
  24.                     num3 += 1
  25.                 else:
  26.                     break
  27.         return  

  28. print('该文件夹下共有类型为【.txt】的文件', num, '个')
  29. print('该文件夹下共有类型为【.exe】的文件', num1, '个')
  30. print('该文件夹下共有类型为【.py】的文件', num2, '个')
  31. print('该文件夹下共有类型为【.dll】的文件', num3, '个')
  32. print('该文件夹下共有类型为【文件夹】的文件', num4, '个')
  33. address = os.listdir(os.curdir)
  34. each_num(address)
  35.             
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-1-25 12:45:12 | 显示全部楼层
while 1:  是用来好看 的?
这代码看了真揪心
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-25 12:45:14 | 显示全部楼层
具体代码没看,下面的打印顺序错了吧...
  1. import os
  2. num = 0
  3. num1 = 0
  4. num2 = 0
  5. num3 = 0
  6. num4 = 0


  7. def each_num(address):
  8.     for adds in address:
  9.         if os.path.isdir(adds):
  10.             num4 += 1

  11.         else:
  12.         
  13.         
  14.         
  15.             while 1:
  16.                 add = os.path.splitext(adds)[1]
  17.                 if add == '.txt':
  18.                     num += 1
  19.                 elif add == '.exe':
  20.                     num1 += 1
  21.                 elif add == '.py':
  22.                     num2 += 1
  23.                 elif add == '.dll':
  24.                     num3 += 1
  25.                 else:
  26.                     break
  27.         return  

  28. address = os.listdir(os.curdir)
  29. each_num(address)

  30. print('该文件夹下共有类型为【.txt】的文件', num, '个')
  31. print('该文件夹下共有类型为【.exe】的文件', num1, '个')
  32. print('该文件夹下共有类型为【.py】的文件', num2, '个')
  33. print('该文件夹下共有类型为【.dll】的文件', num3, '个')
  34. print('该文件夹下共有类型为【文件夹】的文件', num4, '个')

  35.             
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-25 12:47:38 | 显示全部楼层
刚学还没半个月,还不是很明白
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-25 12:52:04 | 显示全部楼层
新手·ing 发表于 2019-1-25 12:45
具体代码没看,下面的打印顺序错了吧...

我修改了,还是不能够正常运行
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-25 15:04:08 | 显示全部楼层
本帖最后由 xy123151 于 2019-1-25 15:05 编辑

不知道题目是啥,首先的几个问题
1. 你的几个num参数都在函数里被修改后,没有return,那么结果就是全局里的num参数们,都还是原来的00000
2. return的缩进位置应该错了,你这样没有全部迭代
3. 这个while循环用的是莫名其妙啊

个人建议,先把那个流程图画出来,高中数学学的流程图,你的整个逻辑都很乱
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-13 14:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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