【问题标题】:Displaying The Individual Random Numbers And The Sum Of A Python Array显示单个随机数和 Python 数组的总和
【发布时间】:2020-04-19 01:01:15
【问题描述】:

您会使用什么逻辑来显示随机生成的数组数字,同时打印出所述随机数的总和?这是一个任务,它应该使用一些功能来完成,类似于我设置它的方式。

我已经能够在数组中显示随机数,但是当我尝试对它们求和时,它会再次调用该函数并给我一组新随机生成的数字的总和。我已经稍微重置了代码,因为那段代码并没有真正帮助我。

import random
import math

def fillList(count):
    list = []
    for i in range(0, count):
        list.append(random.randint(0, 10))
    return list

def sumList(val):
    total = 0
    for i in val:
        total = total + val
        total += total
    return total

def printList(lst):
    for val in lst:
        print(val)
        sum = sumList(val)
    return sum

myList = fillList(25)
printList(myList)

【问题讨论】:

    标签: python arrays random


    【解决方案1】:

    看看这个:

    解决方案 1:

    import random
    import math
    
    def fillList(count):
        list = []
        for i in range(0, count):
            list.append(random.randint(0, 10))
        return list
    
    def sumList(val,total):
        total += val
        return total
    
    def printList(lst):
        total = 0
        for val in lst:
            print(val)
            total = sumList(val,total)
        return total
    
    myList = fillList(25)
    res = printList(myList)
    
    

    注意:切勿使用 python 关键字(sum、dict 等)来定义变量名。

    解决方案 2:

    import random
    import math
    
    def fillList(count):
        list = []
        for i in range(0, count):
            list.append(random.randint(0, 10))
        return list
    
    def sumList(lst):
        total = 0
        for val in lst:
            total += val
        return total
    
    def printList(lst):
        [print(val) for val in lst]
        sumValue = sumList(lst)
        return sumValue
    
    myList = fillList(25)
    res = printList(myList)
    

    【讨论】:

    • 谢谢你,我到处都在研究,但有时直到你看到它完成后才会点击。
    • 欢迎并记住这一点永远不要使用 sum、dict 等关键字来定义变量名。
    【解决方案2】:

    如果你想让你的printList 给出总数,你可以在循环外调用它,并像这样给它整个列表

    def sumList(lst):  # return sum(lst)
        total = 0
        for val in lst:
            total += val
        return total
    
    def printList(lst):
        for val in lst:
            print(val)
        total = sumList(lst)
        print("Total is", total)
    

    并用作

    myList = fillList(5)
    print(myList)  # [4, 7, 7, 2, 7]
    printList(myList)  # prints every value on a new line
    
    4
    7
    7
    2
    7
    Total is 27
    

    【讨论】:

    • 是的,我知道如何在两个函数中执行此操作,但任务要求三个函数,这就是我变得相当困惑的地方。尽管如此,我还是感谢您的帮助。
    • @AbsolutelyNoLogic 你有你的 3 个函数,我只是没有粘贴 fillList,因为我什么也没做
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-27
    • 2022-12-04
    • 2019-05-08
    相关资源
    最近更新 更多