def large(n):
s=0
for i in range(1,10):
copy=n
while copy>0:
r=copy%10
if (r==i):
s=(s*10)+r
if (r==0) and (s>0) and (s<10):
s=(s*10)+r
copy=copy//10
print(s)
n=int(input("enter: "))
large(n)
我写了这个,但如果任何数字重复,它就不起作用
答案 0 :(得分:0)
首先我们对数字进行排序,然后我们想用零交换第一个不是0
的数字,我们确定排序后如果有任何零,那么在排序字符串中的第一个数字将是 0
并且不是 0
的第一个数字是数字中的所有 0
之后。如果没有 0
,则代码会将位置 0 处的元素与其自身“交换”,因此它也可以工作。
def large(n):
sn = sorted(str(n))
zeros = sn.count('0')
ln = list(sn)
ln[zeros], ln[0] = ln[0], ln[zeros]
return ''.join(ln)
n = int(input("enter: "))
print(large(n))