我如何在python中调用数百?

2024-06-25 23:32:27 发布

您现在位置:Python中文网/ 问答频道 /正文

当我在python中将某些数字分成“1”和“10”时,就像(98)那样,我们编码>&燃气轮机&燃气轮机

num = 98
ones = num % 10 
tens = num // 10 
print(ones) = 8 
print(tens) = 9

所以,如果我有3位数字,比如321(基于前面显示的代码),那么这些数字将是1,tens=32。我需要python分别执行3和2


Tags: 代码gt编码ones数字num中将print
3条回答

您可以编写一个执行模运算的函数,将它们放入一个列表中,然后进行除法,并重复直到结束,反转列表:

def split_number(number):
    result = []
    while number != 0:
        result.append(number % 10)
        number = number // 10
    result.reverse()
    return result
split_number(12345)
[1, 2, 3, 4, 5]

像这样:

321 / 100
3.21
>>> int(3.21)
3

但是你已经为10年创造了一个更好的东西,为什么不为100年创造呢

首先,您可以使用^{}

tens, ones = divmod(98, 10)
tens
# 9
ones
# 8

第二,您可以编写一个通用函数来获取所有数字,而不考虑大小:

def digs(n):
    while n:
        n, dig = divmod(n, 10)
        yield dig

ones, tens, hundreds, *_ = digs(321)

它将始终生成以1开头的所有数字:

[*digs(12345)]
# [5, 4, 3, 2, 1]

当然,最简单的就是字符串转换:

[*map(int, str(12345))]
# [1, 2, 3, 4, 5]

相关问题 更多 >