如何在 PYTHON 中查找输入数字的千位、百位、十位和个位中的数字?例如:256 有 6 个一、5 个十等

Joh*_*han 2 python numbers operators

num = int(input("Please give me a number: "))
print(num)
thou = int((num // 1000))
print(thou)
hun = int((num // 100))
print(hun)
ten =int((num // 10))
print(ten)
one = int((num // 1))
print(one)
Run Code Online (Sandbox Code Playgroud)

我试过这个,但它不起作用,我被卡住了。

6pa*_*kid 7

您可能想尝试以下操作:

def get_pos_nums(num):
    pos_nums = []
    while num != 0:
        pos_nums.append(num % 10)
        num = num // 10
    return pos_nums
Run Code Online (Sandbox Code Playgroud)

并按如下方式调用此方法。

>>> get_pos_nums(9876)
[6, 7, 8, 9]
Run Code Online (Sandbox Code Playgroud)

0th指数将包含单位,1st指标将包含数十个,2nd指数将包含数百等等...

此函数将因负数而失败。我将负数的处理留给您作为练习。


Kev*_*uan 5

像这样?

a = str(input('Please give me a number: '))

for i in a[::-1]:
    print(i)
Run Code Online (Sandbox Code Playgroud)

演示:

Please give me a number: 1324
4
2
3
1
Run Code Online (Sandbox Code Playgroud)

所以第一个数字是一个,接下来是十个,依此类推。