如何在PYTHON中反转int?

2022-04-17 00:00:00 python reverse

问题描述

我正在创建一个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 
")

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


解决方案

您以一种相当奇怪的方式处理此问题。您已经有了一个反转函数,那么为什么不让line以正常的方式围绕构建行呢?

def line(bottles, ending):
    return "{0} {1} {2}".format(bottles, 
                                plural("bottle", bottles), 
                                ending)

其运行方式如下:

>>> line(49, "of beer on the wall")
'49 bottles of beer on the wall'

然后将结果传递给reverse

>>> reverse(line(49, "of beer on the wall"))
'llaw eht no reeb fo selttob 94'

这使得单独测试代码的每个部分并查看当您将它们放在一起时发生了什么变得更加容易。

相关文章