Форум сайта python.su
294
old_montyчтото мне подсказывает что к-во вариантов будет больше с учетом того что в английском алфавите 26 букв. Всего будет 26**6 вариантов, в данном конкретном случае.
Всего будет 6! = 720
import random chars = 'abcdefghijklmnopqrstuvwxyz' pattern = 'python' sample = '' while sample != pattern: gen = [random.choice(chars) for char in pattern] sample = ''.join(gen) print(sample) print('word generated:', sample)
def gen(pattern, sample): chars = 'abcdefghijklmnopqrstuvwxyz' for char in chars: result = sample+char print(result) if len(pattern) > len(result): result = gen(pattern, result) if pattern == result: return result else: continue pattern = 'python' sample = '' sample = gen(pattern, sample) print('word generated:', sample)
>>>
a
aa
aaa
.........
aaz
ab
aba
abb
abc
word generated: abc
>>>
import itertools patern = 'python' chars = 'abcdefghijklmnopqrstuvwxyz' for sample in itertools.combinations_with_replacement(chars, len(patern)): print(''.join(sample)) if ''.join(sample) == patern: break print('word generated:', ''.join(sample))
import random chars = 'abcdefghijklmnopqrstuvwxyz' pattern = 'python' gen = ['' for char in pattern] sample = '' while sample != pattern: for i, char in enumerate(pattern): if (gen[i] != char) : gen[i] = random.choice(chars) sample = ''.join(gen) print(sample) print('word generated:', sample)
chars = 'abcdefghijklmnopqrstuvwxyz' pattern = 'python' sample = '' for pat in pattern: for char in chars: print(sample+char) if char == pat: sample = sample+char print('word generated:', sample)
[code python][/code]
Отредактировано PEHDOM (Июль 7, 2017 01:42:25)
Офлайн
20
1.
PEHDOMЦитируйте добросовестно, пожалуйста. У меня сказано о количестве “сочетаний c учетом перестановок” (или просто перестановок, как поправил меня py.user.next) для слова “python”:old_montyчтото мне подсказывает что к-во вариантов будет больше с учетом того что в английском алфавите 26 букв.
Всего будет 6! = 720
old_montyИ дальше я предложил pythonmaks'у
В слове “python” 6 букв. Всего будет 6! = 720 возможных сочетаний из 6 букв по 6 в каждом с учетом перестановок.
old_monty2.
эту идею можете взять за основу, и перебирать весь алфавит (как у вас сказано в условии).
PEHDOMс этим согласен, но для того и форум, чтобы уточнять условия задач (и заодно пробовать свои способности в телепатии
Задача у ТС описана крайне расплывчато.
)
Офлайн
20
pythonmaksПодробные варианты см. в ответе PEHDOM.
через циклы , как например?
Офлайн