kungfupd 发表于 2021-10-4 15:00:45

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

本帖最后由 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个函数,哪里需要修改,输出的结果跟我要的不一样。
下图是我输出后的结果,我想要的是:每一次循环就出现一个列表和一个合计数,比如下图中第一个,应该出现的是,b=2。



wp231957 发表于 2021-10-4 15:21:42

本帖最后由 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()

不知道你要干啥   瞎改了一下
鱼币的无所谓   上下不封顶
变量名不要弄那么多 有歧义的好不好   看着太乱了

kungfupd 发表于 2021-10-4 15:26:12

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

是因为我的变量名弄的太多造成的吗?

wp231957 发表于 2021-10-4 15:31:12

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

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

我有修改正了一下你的代码    我甚至觉得 都没必要使用函数
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()
页: [1]
查看完整版本: 自己编制了2个函数,输出的结果跟要的不一样,求大佬指教