早教吧 育儿知识 作业答案 考试题库 百科 知识分享

python题目Writeafunctionthatcomputesandreturnsthesumofthedigitsinaninteger.Usethefollowingfunctionheader:defsumdigits(number):Forexamplesumdigits(234)returns9.Usethe%operatortoextractthedigitsandthe//operatort

题目详情
python题目
Write a function that computes and returns the sum of the digits in an integer. Use the following function header:
def sum_digits(number):
For
example sum_digits(234) returns 9. Use the % operator to extract the
digits and the // operator to remove the extracted digit. For example,
to extract 4 from 234, use 234 % 10 (= 4).To remove 4 from 234, use
234//10 (= 23). Use a loop to repeatedly extract and remove the digits
until all the digits are extracted. Write a main function with the
header "def main():" that prompts the user to enter an
integer, calls the sum_digits function and then displays the results
returned by the function. The main function is called by writing
"main()". The template for the question is given below:
# Template starts here
def sum_digits(number):
# Write code to find the sum of digits in number and return the sum
def main():
# Write code to prompt the user to enter an integer, call sumDigits and display result
main()# Call to main function
# Template ends here
Sample Output
Enter a number: 123
Sum of digits: 6
▼优质解答
答案和解析
#!/usr/bin/env python
#-*- coding:utf-8 -*-

def sum_digits(number):
    """Return the sum of the number's digits"""
    remain = number
    sumn = 0        
    while remain>0:
        sumn += remain % 10
        remain = remain // 10
    return sumn


def main():
    """To interact with user"""
    while True :
        numberstr = raw_input("Enter a number:")
        if numberstr.isdigit():
            result = sum_digits(int(numberstr))
            print "Sum of digits: {0}".format(result)
            break
        else:
            print "An int type you entered is not valid!"


if __name__ == '__main__':
    main()