Найти - Пользователи
Полная версия: циклы?
Начало » Python для новичков » циклы?
1 2
pythonmaks
привет ребята))))
только начинаю и прочитал несколько страница учебника этого замечатолького языка.
но вот в голову пришла мысль, которую не могу реализовать: хочу чтобы методом перебора было саставлено слово. участсвуют все буквы алфавита.
что для этого нужно? что использовать, циклы?
то есть например слова python. нужно чтобы программа перебрала все буквы, все варианты с ними и когда получится это слово, она осановилась.
подскажите, что и как
pythonmaks
ну вот если бы вы вдруг решили такое написать, как бы вы это сделали?
old_monty
pythonmaks
то есть например слова python. нужно чтобы программа перебрала все буквы, все варианты с ними и когда получится это слово, она осановилась.
В слове “python” 6 букв. Всего будет 6! = 720 возможных сочетаний из 6 букв по 6 в каждом с учетом перестановок.
В учебных целях можно, конечно, попробовать изобрести свой велосипед. Но вообще-то есть готовая функция в модуле itertools. С ней задача решается очень просто:

 # импортируем нужную нам функцию
from itertools import permutations
# создаем счетчик, просто для нумерации слов в распечатке
i = 1 
for elem in permutations('python', 6):
    print(i, ''.join(elem))
    i += 1 
Будет выведено 720 возможных сочетаний, здесь приведены только несколько первых и последних:
1 python
2 pythno
3 pytohn
4 pytonh
5 pytnho
6 pytnoh
7 pyhton
8 pyhtno
9 pyhotn
10 pyhont

715 nohpyt
716 nohpty
717 nohypt
718 nohytp
719 nohtpy
720 nohtyp

Примечание: эту идею можете взять за основу, и перебирать весь алфавит (как у вас сказано в условии). Если ваш комп задымится от неимоверного количества вариантов, я не виноват
Чтобы программа остановилась, когда получится слово “python”, просто добавьте в цикл проверку (if result == ‘python’) и прерывание цикла break.
py.user.next
old_monty
В слове “python” 6 букв. Всего будет 6! = 720 возможных сочетаний из 6 букв по 6 в каждом с учетом перестановок.
n! даёт количество перестановок.
Есть три понятия там: размещение, сочетание и перестановка.

old_monty
Будет выведено 720 возможных сочетаний
1 python
2 pythno
...
Это одно сочетание, так как в сочетании порядок элементов не важен.
pythonmaks
спасибо огромное))))))
old_monty
old_monty
очень выручили)))))))))))))
а вот если бы вы писали без библиотек, то чтобы вы попытались реализовать эту идею?
old_monty
py.user.next
n! даёт количество перестановок.
Да, я не посмотрел, как это точно называется. Но по условию задачи, вроде бы как раз и нужны перестановки?
pythonmaks
py.user.next
а у вас есть идеи по этому поводу, как это провернуть без библиотек?
old_monty
pythonmaks
спасибо огромное))))))
Пожалуйста.
pythonmaks
очень выручили)))))))))))))
А зачем столько смайликов, что тут смешного? Если “спасибо, выручил” - значит, ставь “+” мне в репутацию (а то у py.user.next'a уже 451 балл, а у меня всего каких-то жалких 18
pythonmaks
а вот если бы вы писали без библиотек, то чтобы вы попытались реализовать эту идею?
Через циклы, исходя из того, что каждая буква в слове может сочетаться со всеми остальными. Но это будет работать очень медленно.
pythonmaks
old_monty
смайлы это не смех -это выражение радости))))
pythonmaks
old_monty
через циклы , как например?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB