Python 函数的结果太小。如何解决这个问题?

Python 函数的结果太小。如何解决这个问题?,python,function,Python,Function,此函数的结果太小。我不知道问题在哪里,也不知道如何解决。请两个地址都写 def get_n_numbers(n): ''' Return the sum of n random numbers from 1 through 4''' import random total = 0 for i in range(n): mynumber = random.randint(1,4) total = total + mynumber r

此函数的结果太小。我不知道问题在哪里,也不知道如何解决。请两个地址都写

def get_n_numbers(n):
    ''' Return the sum of n random numbers from 1 through 4'''
    import random
    total = 0
    for i in range(n):
        mynumber = random.randint(1,4)
        total = total + mynumber

return total

只需将
return
移动到循环外部,这样函数就不会在循环第一次通过后停止并返回:

def get_n_randoms(n):
    ''' Return the sum of n random numbers from 1 through 4'''
    import random
    total = 0
    for i in range(n):
        mynumber = random.randint(1,4)
        total = total + mynumber
    return total

sum_of_10 = get_n_randoms(10)
print(sum_of_10)

函数在第一次循环迭代时返回。因此,将return移到
for
循环块的外部,以返回所有循环的实际总和

def get_n_randoms(n):
    ''' Return the sum of n random numbers from 1 through 4'''
    import random
    total = 0
    for i in range(n):
        mynumber = random.randint(1,4)
        total = total + mynumber
    return total   # < ---- right here see how it aligns with the start of the function block
def get_n_randoms(n):
''返回从1到4的n个随机数之和''
随机输入
总数=0
对于范围(n)中的i:
mynumber=random.randint(1,4)
总数=总数+我的号码
return total#<----在这里查看它如何与功能块的开头对齐

您的返回在for循环内,因此您不会进行多次迭代。

因为您在
for循环内有
返回总数
。把它从循环中去掉。您的函数在遇到
返回时立即中断,因此您的迭代次数不会超过1次。