用python对数字进行排序_python - 如何对数字进行排序? - SO中文参考 - www.soinside.com...

按升序和降序排列数字:ascending = "".join(sorted(str(number)))

descending = "".join(sorted(str(number), reverse=True))

喜欢这个:>>> number = 5896

>>> ascending = "".join(sorted(str(number)))

>>>

>>> descending = "".join(sorted(str(number), reverse=True))

>>> ascending

'5689'

>>> descending

'9865'

并且,如果您需要再次将它们作为数字(不仅是字符串),请对它们调用int():>>> int(ascending)

5689

>>> int(descending)

9865

2020-01-30>>> def kaprekar(number):

... diff = None

... while diff != 0:

... ascending = "".join(sorted(str(number)))

... descending = "".join(sorted(str(number), reverse=True))

... print(ascending, descending)

... next_number = int(descending) - int(ascending)

... diff = number - next_number

... number = next_number

...

>>> kaprekar(2777)

2777 7772

4599 9954

3555 5553

1899 9981

0288 8820

2358 8532

1467 7641

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值