鱼C论坛

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

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

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

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

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

x
本帖最后由 kungfupd 于 2021-10-4 15:20 编辑
import random
def Divination():
    divination = []
    for i in range(0,3):
        divinationd = random.randrange(0,2)
        divination.append(divinationd)
        print(divination)
    return divination
def frequency():
    frequency = []
    for a in range(0,6):
        Divination()
        b = sum(Divination())
        print(b)
        frequency.append(Divination())
    return frequency
result = frequency()
请大佬们帮忙看下这个2个函数,哪里需要修改,输出的结果跟我要的不一样。
下图是我输出后的结果,我想要的是:每一次循环就出现一个列表和一个合计数,比如下图中第一个,应该出现的是[0,1,1],b=2。



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

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

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

def frequency():
    for x in range(0,6):
        a=Divination()
        b = sum(a)
        print(a,",b=",b)
 
frequency()
结果.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

回帖奖励 +30 鱼币

本帖最后由 wp231957 于 2021-10-4 15:23 编辑
import random
def Divination():
    divinationa = []
    for i in range(0,3):
        divinationdb = random.randrange(0,2)
        divinationa.append(divinationdb)
 
    return divinationa
def frequency():
    frequencya = []
    for x in range(0,6):
        a=Divination()
        b = sum(a)
        print(a,",b=",b)
        frequencya.append(Divination())
    return frequencya
result = frequency()

不知道你要干啥   瞎改了一下
鱼币的无所谓   上下不封顶
变量名不要弄那么多 有歧义的  好不好   看着太乱了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

是因为我的变量名弄的太多造成的吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

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

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

def frequency():
    for x in range(0,6):
        a=Divination()
        b = sum(a)
        print(a,",b=",b)
 
frequency()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-13 06:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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