Я не вижу ничего плохого в моем коде, но я не могу возвращать -1, когда вход не может произвести следующее большее число, то есть вход 531
, который спускается.Next Самое большое число одинаковых цифр
import itertools as it
def next_bigger(n):
if sorted("531", reverse = True) == list("531"):
return -1
s = tuple(str(n))
for x in it.dropwhile(lambda x: x <= s, it.permutations(sorted(s))):
return int(''.join(x))
return s
Может кому-то помочь?
Вы пробовали что-нибудь для достижения того, чего хотите? Для вас гораздо лучше побывать и показать свои усилия; вопросы, которые этого не делают, обычно плохо получают здесь. – Aurora0001
см. Пересмотренный код выше. –
'if True:' будет _allways_ быть True. Какое условие вы действительно хотите проверить? –