首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按Python顺序打印整数的数字

按Python顺序打印整数的数字
EN

Stack Overflow用户
提问于 2022-04-22 18:02:49
回答 2查看 650关注 0票数 0

我想按顺序打印整数的数字,我不想转换为字符串。我试图在给定的整数输入中找到数字的数目,然后将数字除以10 ** (计数-1),例如,1234变为1.234,我可以打印出"1“。现在,当我想要移动到第二个数字时,它会变得很混乱。到目前为止,我的代码如下:注意:请考虑我只能使用整数,并且不允许使用字符串和字符串操作。

代码语言:javascript
复制
def get_number():
    while True:
        try:
            a = int(input("Enter a number: "))
            return a
        except:
            print("\nInvalid input. Try again. ")

def digit_counter(a):
    count=0
    while a > 0:
        count = count+1
        a = a // 10
    return count

def digit_printer(a, count):
    while a != 0:
        print (a // (10 ** (count-1)))
        a = a // 10

a = get_number()
count = digit_counter(a)
digit_printer(a, count)

我希望输出像1234这样的整数,如下所示:

代码语言:javascript
复制
1
2
3
4
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-04-22 18:30:57

使用模块收集倒序的数字,然后打印出来:

代码语言:javascript
复制
n = 1234
digits = []
while n > 0:
    digits.append(n%10)
    n //=10

for i in reversed(digits):
    print(i)

递归技巧:

代码语言:javascript
复制
def rec(n):
    if n > 0:
       rec(n//10)
       print(n%10)

rec(1234)
票数 3
EN

Stack Overflow用户

发布于 2022-04-22 18:44:05

找到所需的最大功率,然后返回:

代码语言:javascript
复制
n = 1234

d = 1
while d * 10 <= n:
    d *= 10
while d:
    print(n // d % 10)
    d //= 10
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71972923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档