【问题标题】:Python: Wrong output in sum of digits of a number [duplicate]Python:数字总和的错误输出[重复]
【发布时间】:2015-08-19 07:38:10
【问题描述】:

我运行程序时输出错误。我使用python 3.4.3版本。下面是我的程序代码,

代码:-

from pip._vendor.distlib.compat import raw_input

def sumOfDigits(n):
    summ=0;
    while(n!=0):
        r = n%10;
        summ+=r;
        n/=10;
    return summ;


input_num = raw_input("Enter a number : ");
n = int(input_num);

print("sum of digits of the number %s is %d" % (input_num,sumOfDigits(n)));

输出:-

Enter a number : 54928
sum of digits of the number 54928 is 31

【问题讨论】:

  • 您正在使用 Python3。使用//= 而不是/=
  • sum(int(value) for value in input_num)
  • 感谢@Amadan...它运行正常。
  • @Amadan,你应该回答这个问题,这样 OP 才能接受。

标签: python python-3.x


【解决方案1】:

试一试:

def sumOfDigits(n):
r = 0
while n:
    r, n = r + n % 10, n / 10
return r


input_num = raw_input("Enter a number : ");
n = int(input_num);

print("sum of digits of the number %s is %d" % (input_num,sumOfDigits(n)));

完美地为我工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-16
    • 1970-01-01
    • 2020-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多