Мишель составляет слова путём перестановки букв своего имени и располагает их в алфавитном порядке. Под каким номером будет находиться слово ШМЕЛЬИ? (Нумерация начинается с 1).
Решение через циклы
a = sorted(’МИШЕЛЬ’) # слово, записанное в алфавитном порядке
count = 0
for x1 in a:
for x2 in a:
for x3 in a:
for x4 in a:
for x5 in a:
for x6 in a:
s = x1+x2+x3+x4+x5+x6
# если слово составлено путем перестановки букв слова
if len(set(s)) == len(s):
count += 1
if s == ’ШМЕЛЬИ’:
print(count)
Решение через itertools
from itertools import permutations
s = ’МИШЕЛЬ’
r = sorted(permutations(s))
pattern = [x for x in ’ШМЕЛЬИ’]
position = 1
for x in r:
if list(x) == pattern:
print(position)
break
position += 1
Ответ: 556