【问题标题】:An unexpected value returns after execution of code执行代码后返回意外值
【发布时间】:2019-05-07 09:12:21
【问题描述】:

我有这个代码。它返回数字除以 10 的余数,然后将其附加到变量 sum。但由于某种原因,我得到了一个意想不到的价值。例如,如果 num 为 821,则余数应为 1。但 print 函数返回值 11。这非常令人困惑...

def sumDigit(num):
    sum = 0
    while(num):
        sum += num % 10
        num = int(num/10)
    print(sum)

num = int(input())
sumDigit(num)

【问题讨论】:

  • 你误解了函数的用途。它正在将数字的数字相加。 8+2+1==11
  • sumDigits 将数字相加而不取余数。
  • 您似乎错过了正在发生的整个 sum 事情。你有一个名为sumDigit 的函数和一个名为sum 的变量,其中添加了一些东西。这不仅仅是一个余数。

标签: python python-3.x


【解决方案1】:

这是一个建议。此代码对输入的每个数字的模求和,并在您按 Enter 键时退出。

def sumDigit():
    sum = 0
    while True:
        num = input("Enter number:")
        if num == "":
            break
        sum += int(num)%10
        print ("Sum =", sum)

sumDigit()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-25
    • 2015-08-13
    • 2021-06-14
    • 1970-01-01
    • 2015-07-20
    • 2019-03-05
    相关资源
    最近更新 更多