鱼C论坛

 找回密码
 立即注册
查看: 1549|回复: 3

[已解决]自己编制了2个函数,输出的结果跟要的不一样,求大佬指教

[复制链接]
发表于 2021-10-4 15:00:45 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 kungfupd 于 2021-10-4 15:20 编辑
  1. import random
  2. def Divination():
  3.     divination = []
  4.     for i in range(0,3):
  5.         divinationd = random.randrange(0,2)
  6.         divination.append(divinationd)
  7.         print(divination)
  8.     return divination
  9. def frequency():
  10.     frequency = []
  11.     for a in range(0,6):
  12.         Divination()
  13.         b = sum(Divination())
  14.         print(b)
  15.         frequency.append(Divination())
  16.     return frequency
  17. result = frequency()
复制代码

请大佬们帮忙看下这个2个函数,哪里需要修改,输出的结果跟我要的不一样。
下图是我输出后的结果,我想要的是:每一次循环就出现一个列表和一个合计数,比如下图中第一个,应该出现的是[0,1,1],b=2。



最佳答案
2021-10-4 15:31:12
kungfupd 发表于 2021-10-4 15:26
是因为我的变量名弄的太多造成的吗?

变量名要有意义  并且不能重复   不能用一些系统的东东  比如print  list  啥的
你那好多变量名 都有重复的意味  且和函数名 相冲  哪怕你一个大写  一个小写  也是看起来 像啊

我有修改正了一下你的代码    我甚至觉得 都没必要使用函数
  1. import random
  2. def Divination():
  3.     lst = []
  4.     for i in range(0,3):
  5.         lst.append(random.randrange(0,12))
  6.     return lst

  7. def frequency():
  8.     for x in range(0,6):
  9.         a=Divination()
  10.         b = sum(a)
  11.         print(a,",b=",b)

  12. frequency()
复制代码
结果.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-10-4 15:21:42 | 显示全部楼层

回帖奖励 +30 鱼币

本帖最后由 wp231957 于 2021-10-4 15:23 编辑
  1. import random
  2. def Divination():
  3.     divinationa = []
  4.     for i in range(0,3):
  5.         divinationdb = random.randrange(0,2)
  6.         divinationa.append(divinationdb)

  7.     return divinationa
  8. def frequency():
  9.     frequencya = []
  10.     for x in range(0,6):
  11.         a=Divination()
  12.         b = sum(a)
  13.         print(a,",b=",b)
  14.         frequencya.append(Divination())
  15.     return frequencya
  16. result = frequency()
复制代码


不知道你要干啥   瞎改了一下
鱼币的无所谓   上下不封顶
变量名不要弄那么多 有歧义的  好不好   看着太乱了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-4 15:26:12 | 显示全部楼层
wp231957 发表于 2021-10-4 15:21
不知道你要干啥   瞎改了一下
鱼币的无所谓   上下不封顶
变量名不要弄那么多 有歧义的  好不好   看 ...

是因为我的变量名弄的太多造成的吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-4 15:31:12 | 显示全部楼层    本楼为最佳答案   
kungfupd 发表于 2021-10-4 15:26
是因为我的变量名弄的太多造成的吗?

变量名要有意义  并且不能重复   不能用一些系统的东东  比如print  list  啥的
你那好多变量名 都有重复的意味  且和函数名 相冲  哪怕你一个大写  一个小写  也是看起来 像啊

我有修改正了一下你的代码    我甚至觉得 都没必要使用函数
  1. import random
  2. def Divination():
  3.     lst = []
  4.     for i in range(0,3):
  5.         lst.append(random.randrange(0,12))
  6.     return lst

  7. def frequency():
  8.     for x in range(0,6):
  9.         a=Divination()
  10.         b = sum(a)
  11.         print(a,",b=",b)

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-17 17:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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