2024-06-25 23:32:27 发布
网友
当我在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
您可以编写一个执行模运算的函数,将它们放入一个列表中,然后进行除法,并重复直到结束,反转列表:
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]
您可以编写一个执行模运算的函数,将它们放入一个列表中,然后进行除法,并重复直到结束,反转列表:
像这样:
但是你已经为10年创造了一个更好的东西,为什么不为100年创造呢
首先,您可以使用^{} :
第二,您可以编写一个通用函数来获取所有数字,而不考虑大小:
它将始终生成以1开头的所有数字:
当然,最简单的就是字符串转换:
相关问题 更多 >
编程相关推荐