我正在编写一个程序,用户必须输入一个介于0到100之间的数字。然后,该程序应该将数字分为10和1。因此,如果用户输入23,则程序将返回2和3。如果用户输入4,则程序将返回0和4。这是我对于小于10的数字所拥有的,但是我不确定如何处理2使用模运算符的数字。

def split():
    number = int(raw_input("Enter a number between 0 and 100:"))
    if number <10:
        tens = 0
        ones = number
        total = tens + ones
        print "Tens:", tens
        print "Ones:", ones
        print "Sum of", tens, "and", ones, "is", total

split()


谢谢!

最佳答案

使用divmod功能。

>>> a, b = divmod(23, 10)
>>> a, b
(2, 3)
>>> print "Tens: %d\nOnes: %d" % divmod(23, 10)
Tens: 2
Ones: 3


不知道divmod吗? help是您的朋友!

>>> help(divmod)
Help on built-in function divmod in module __builtin__:

divmod(...)
    divmod(x, y) -> (quotient, remainder)

    Return the tuple ((x-x%y)/y, x%y).  Invariant: div*y + mod == x.

09-27 05:28