繁体   English   中英

将迭代 function 转换为递归 function

[英]Transform iterative function into recursive function

def solowayAverage():
    number = int(input("Enter a number: "))
    sum = 0
    count = 0
    while number != 99999:
        if (number >= 0):
            sum += number
            count += 1
        number = int(input("Enter a number: "))
    print("The average is: ", sum / count)
#iterative code

solowayAverage()

def solowayaveragerec(n, sum, count):
    if n !=99999 and n>0:
        sum += n
        count += 1
    else:
    return  solowayaveragerec(n, sum, count)

number = int(input("Give me a number: "))
solowayaveragerec(number, 0, 0)
#recursive code non completed

我需要帮助才能使递归代码正常工作。 问题是我不知道在递归部分在哪里插入对 function 的调用

您应该在总和中添加新数字并在计数中添加 1 进行递归调用:

def solowayaveragerec(sum=0, count=0):
    number = int(input("Enter a number: "))
    if number == 99999:
        print("The average is: ", sum / count)
    else:
        solowayaveragerec(sum + number, count + 1)

solowayaveragerec()

演示: https://replit.com/@blhsing/PrimeSadClosedsource

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM