首页 > 解决方案 > 如何使用地板除法返回浮点值

问题描述

在 Python 3 中,我想返回整数值的单位,然后是十位,然后是数百位,依此类推。假设我有一个整数 456,首先我要返回 6,然后是 5,然后是 4。有什么办法吗?我尝试了楼层划分和 for 循环,但没有奏效。

标签: python-3.xfloor-division

解决方案


如果您想根据以下要求在代码的不同位置检索数字,请编写一个生成器。

如果您对 Python 的生成器不太熟悉,请快速查看https://www.programiz.com/python-programming/generator

» 这里get_digits()是一个生成器。

def get_digits(n):
    while str(n):
        yield n % 10

        n = n // 10
        if not n:
            break

digit = get_digits(1729)

print(next(digit)) # 9
print(next(digit)) # 2
print(next(digit)) # 7
print(next(digit)) # 1

» 如果您希望迭代数字,您也可以按照以下方式进行。

for digit in get_digits(74831965):
    print(digit)

# 5
# 6
# 9
# 1
# 3
# 8
# 4
# 7

»关于其用法的快速概述(在 Python3 的交互式终端上)。

>>> def letter(name):
...     for ch in name:
...         yield ch
... 
>>> 
>>> char = letter("RISHIKESH")
>>> 
>>> next(char)
'R'
>>> 
>>> "Second letter is my name is: " + next(char)
'Second letter is my name is: I'
>>> 
>>> "3rd one: " + next(char)
'3rd one: S'
>>> 
>>> next(char)
'H'
>>> 

推荐阅读