首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何调试我的Python程序,该程序根据正数的均匀度对正数进行求和

如何调试我的Python程序,该程序根据正数的均匀度对正数进行求和
EN

Stack Overflow用户
提问于 2022-11-04 19:17:57
回答 1查看 56关注 0票数 -3

我试着编写程序,向用户询问正数,如果是奇数,软件会把这个数字中的所有奇数加起来,偶数也是一样的。在此之后,软件不停地询问数字,并做与以前相同的事情,直到用户输入0/负数。

在此之后,软件应该以最大和打印数字。有时起作用,有时不行。

代码:

代码语言:javascript
运行
复制
def sum_Digits(n):
    sum = 0
    if n % 2 == 0: #For even numbers
        while n>0:
            if (n%10)%2 == 0:
                sum += n%10
                n = n//10
            else:
                n = n//10
        print("sum: " , sum)
        return sum
    
        
    elif n % 2 != 0 : #For odd numbers
        while n>0:
            if (n%10)%2 != 0:
                sum += n%10
                n = n//10
            else:
                n = n//10
        print("sum: " , sum)
        return sum


def read_Numbers(N):
    maX = 0
    while N > 0:       #while askNum Positive continue summing
        suM = sum_Digits(N)
        if suM > maX:
                maX = N
        N = int(input("Please eneter a Natural number: "))
    if N <= 0:
        return maX
        
        


def main():
    num = int(input("Please enter a Natural number: ")) #asking the user to enter number
    sum_Digits(num)
    askNum = int(input("Please eneter a Natural number: "))
    maxSum = read_Numbers(askNum)
    print("Number with maximal sum: " , maxSum)
main()
EN

回答 1

Stack Overflow用户

发布于 2022-11-15 19:10:35

臭虫:

如果用户输入负数,它将继续循环并打印最后输入的数字,因为程序不检查负数。

修正:

我添加了一个条件,如果N <= 0:

return maX,这将返回最后输入的正数。

臭虫:

sum_Digits(num)我删除了这一行,因为它不需要,因为我们已经在主函数中调用了函数sum_Digits

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74321983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档