首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在python中反转int?

如何在python中反转int?
EN

Stack Overflow用户
提问于 2014-07-25 18:11:28
回答 14查看 47.4K关注 0票数 6

我正在创建一个python脚本,打印出'99瓶啤酒‘的整首歌,但颠倒了过来。我唯一不能反转的是数字,它是整数,而不是字符串。

这是我的完整脚本,

def reverse(str):
   return str[::-1]

def plural(word, b):
    if b != 1:
        return word + 's'
    else:
        return word

def line(b, ending):
    print b or reverse('No more'), plural(reverse('bottle'), b), reverse(ending)

for i in range(99, 0, -1):
    line(i, "of beer on the wall")
    line(i, "of beer"
    print reverse("Take one down, pass it around")
    line(i-1, "of beer on the wall \n")

我知道我的reverse函数接受一个字符串作为参数,但是我不知道如何接受一个整数,或者稍后在脚本中如何反转这个整数。

EN

回答 14

Stack Overflow用户

发布于 2014-07-25 18:23:34

不将数字转换为字符串:

def reverse_number(n):
    r = 0
    while n > 0:
        r *= 10
        r += n % 10
        n /= 10
    return r

print(reverse_number(123))
票数 14
EN

Stack Overflow用户

发布于 2014-07-25 18:14:23

像这样的东西?

>>> x = 123
>>> str(x)
'123'
>>> str(x)[::-1]
'321'
票数 8
EN

Stack Overflow用户

发布于 2019-01-23 12:57:59

最好的方法是

x=12345
a=str(x)[::-1]\\ In this process i have create string of inverse of integer (a="54321")
a=int(a) \\ Here i have converted string a in integer 

或者一行代码是

a=int(str(x)[::-1]))
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24953303

复制
相关文章

相似问题

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