Python
Как (новичку по программированию) прописать программу для переборов комбинаций без повторений.
Как (новичку по программированию) прописать программу для перебора всех возможных комбинаций цифер без повторений к примеру 123 132 213 231 312 321 - но так, чтобы потом вместо цифр потом можно было бы прописать слова в той же последовательности (к примеру -/ лес кот пёс/ лес пёс кот/... и т. д.), чтобы потом развить до 60 слов по этой же схеме. И на чём Pyton или на Delphi?...Тут главное начать. Помогите.
Все "числа" по порядку в системе счисления с основанием, если брать у тебя из примера, 3, за исключением тех, где "цифры" повторяются
Александр Прудников
Не в этом суть! Вместо цифр последовательно на выходе нужны только слова. К каждой цифре присваивается слово (пример 1-лес 2-кот 3-пёс 4-ель 5-дуб и т. д.) . По три слова за комбинацию, а цифры это наглядно как надо замесить. Мне бы начальное само начало для написания программы/скрипт....
кек, ну пиши в массив то что уже было, будь мудаком, зато не ошибешься :)

Александр Прудников
Вместо цифр последовательно на выходе нужны только слова. К каждой цифре присваивается слово (пример 1-лес 2-кот 3-пёс 4-ель 5-дуб и т. д.) . По три слова за комбинацию, а цифры это наглядно как надо замесить.
Легко. Python поможет. Если нужно перебрать без повторений, то кол-во вариатов = 3! = 6, где 3 - это кол-во символов, а ! -математический знак факториала. Это называется пермутация. Вот код этой программы:
https://interview.cups.online/live-coding/?room=3d3aeb0f-b1bd-43e8-bebb-44aab0c04c7c
import itertools, string
path = str(input('Please select file to write password. Example: D:\\Program\\passwords.txt '))
file = open(path, "w")
Symbols = input("Please put included symbols here. Example: AaBbcc123 ")
Length = int(input("Enter password length. Example: 8 "))
for i in itertools.permutations(Symbols):
i = list(i)
text = ((''.join(i)))
Lines = [text[i:i + Length]+'\n' for i in range(0, len(text), Length)]
file.write(''.join(Lines))
#print(i, end=' ') # abc acb bac bca cab cba
file.close()
----------------------------------------------------------------------------------------------------------------------
Если же нужно перебрать все варианты комбинаций с повторениями - то кол-во вариантов = 3^3 = 27, где первая 3 - кол-во всех символов, а вторая 3 - длина строки. Вот код: https://interview.cups.online/live-coding/?room=59140f9e-a73d-4f73-8090-faec98f5afe4
import itertools, string
path = str(input('Please select file to write password. Example: D:\\Program\\passwords.txt '))
file = open(path, "w")
Symbols = str(input("Please put included symbols here. Example: AaBbcc123 "))
Length = int(input("Enter password length. Example: 8 "))
for ele in itertools.product(Symbols, repeat = Length):
text = ((''.join(ele)))
Lines = [text[ele:ele + Length]+'\n' for ele in range(0, len(text), Length)]
file.write(''.join(Lines))
file.close()
----------------------------------------------------------------------------------------------------------------------
Итак, без повторов:
123
132
213
231
312
321
С повторами:
111
112
113
121
122
123
131
132
133
211
212
213
221
222
223
231
232
233
311
312
313
321
322
323
331
332
333
https://interview.cups.online/live-coding/?room=3d3aeb0f-b1bd-43e8-bebb-44aab0c04c7c
import itertools, string
path = str(input('Please select file to write password. Example: D:\\Program\\passwords.txt '))
file = open(path, "w")
Symbols = input("Please put included symbols here. Example: AaBbcc123 ")
Length = int(input("Enter password length. Example: 8 "))
for i in itertools.permutations(Symbols):
i = list(i)
text = ((''.join(i)))
Lines = [text[i:i + Length]+'\n' for i in range(0, len(text), Length)]
file.write(''.join(Lines))
#print(i, end=' ') # abc acb bac bca cab cba
file.close()
----------------------------------------------------------------------------------------------------------------------
Если же нужно перебрать все варианты комбинаций с повторениями - то кол-во вариантов = 3^3 = 27, где первая 3 - кол-во всех символов, а вторая 3 - длина строки. Вот код: https://interview.cups.online/live-coding/?room=59140f9e-a73d-4f73-8090-faec98f5afe4
import itertools, string
path = str(input('Please select file to write password. Example: D:\\Program\\passwords.txt '))
file = open(path, "w")
Symbols = str(input("Please put included symbols here. Example: AaBbcc123 "))
Length = int(input("Enter password length. Example: 8 "))
for ele in itertools.product(Symbols, repeat = Length):
text = ((''.join(ele)))
Lines = [text[ele:ele + Length]+'\n' for ele in range(0, len(text), Length)]
file.write(''.join(Lines))
file.close()
----------------------------------------------------------------------------------------------------------------------
Итак, без повторов:
123
132
213
231
312
321
С повторами:
111
112
113
121
122
123
131
132
133
211
212
213
221
222
223
231
232
233
311
312
313
321
322
323
331
332
333
Похожие вопросы
- С чего начать новичку в программировании? Какие книги стоит почитать (питон)
- Программирование, пайтон программа.
- В какой программе посоветуете программировать новичку в Python? Idle, Wing, PyCharm?
- Программирование на питон, нужно написать программу
- Почему Python хейтят и считают худшим языком программирования для новичков?
- Python программирование. Помогите написать программу.
- Проверка повторения числа в массиве
- Сколько часов в день нужно тратить на изучение программирования?
- какие программы полезно будет создать новичику в программирование
- Не могу определиться со временем обучения программированию