<h3>Решение</h3>
В питоне есть хороший модуль itertools. В нём есть комбинаторные функции - перестановки, размещения и куча других классных вещей. Давай вызовем itertools.permutations, передадим туда твоё число как строку и длину перестановок - 3:
<em>permutations('123', 3) --> 123 132 213 231 312 321</em>
<em>permutations('100', 3) --> 100 100 10 1 10 1</em>
Очередная перестановка, формально, представляется в виде списка. Переведём в строку: <em>''.join(i)</em>
...И уберём ведущие нули: <em>.lstrip('0')</em>
<h3>Код</h3>
import itertools
for i in itertools.permutations(input(), 3):
print(''.join(i).lstrip('0'))
# Ввод:
# 100
# Вывод:
# 100
# 100
# 10
# 1
# 10
# 1
Условие задачи позволяет нам выводить повторяющиеся перестановки. Если нас это не устраивает, мы можем добавить проверку уникальности через set:
import itertools
checker = set()
for i in itertools.permutations(input(), 3):
s = ''.join(i).lstrip('0')
if not(s in checker):
print(s)
checker.add(s)
# Ввод:
# 100
# Вывод:
# 100
# 10
# 1