Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 10.05.2019
Сообщений: 2

Подбор кода ( в нем неизвестны один или несколько символов)

10.05.2019, 19:17. Показов 2480. Ответов 3

Студворк — интернет-сервис помощи студентам


Всем доброго времени суток!

Написал код, зная питон только пару часов.
Нужно - ввести "код" (реферальный, но его присылают с * ), и найти его скрытые символы

пример - ARK*VK9ECR или даже ARK*VK9EC*
мой код выдает один результат, рандомный..

кто - нибудь подскажите как реализовать СПИСОК всех возможных, без повторов

буду очень благодарен, если готовый код вообще низкий поклон вам.
спасибо за внимание

Опубликованый код, сайт компилятор


Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import random
letters = { 1: "A", 2: "B", 3: "C", 4: "D", 5: "E", 6: "F", 7: "G", 8: "H", 9: "I", 10: "J", 11: "K", 12: "L", 13: "M", 14: "N", 15: "O", 16: "P", 17: "Q", 18: "R", 19: "S", 20: "T", 21: "U", 22: "V", 23: "W", 24: "X", 25: "Y", 26: "Z" }
letter = random.randint(1,26)
digit = random.randint(0,9)
a = list(input())
for i in a:
    if (i == '*'):
        a.insert(a.index('*'), letters[letter])
        a.pop(a.index('*'))
        letter = random.randint(1,26)
for j in a:
    if (j == '#'):
        a.insert(a.index('#'), str(digit))
        a.pop(a.index('#'))
        digit = random.randint(0,9)
print(''.join(a))
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.05.2019, 19:17
Ответы с готовыми решениями:

Массив символов (Подсчитать количество слов в строке, при условии, что в качестве разделителя слов используется один или несколько пробелов)
Написать программу, в которой с клавиатуры вводится строка символов. Подсчитать количество слов в строке, при условии, что в качестве...

Дан стек символов. Преобразовать стек, оставив в нем из группы подряд идущих символов только один
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids,...

Как соединить два кода в один или изменить один из них ?
Помогите прикрутить 4ри проверки особых ситуаций в этом коде 1 Вначале проверяем подойдет ли нам значение,по условию подходят только...

3
 Аватар для Semen-Semenich
5230 / 3476 / 1174
Регистрация: 21.03.2016
Сообщений: 8,304
10.05.2019, 21:51
Лучший ответ Сообщение было отмечено killmonars как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from itertools import combinations
 
def filter_symbol(symb,numeral):
    ''' получаем символы которых нет в строке'''
    symb += numeral
    return list(filter(lambda x : x not in data, symb))
 
def comb(letter_not_data,idex_lock):
    ''' комбинируем без повторов'''
    return combinations(letter_not_data,len(idex_lock))
    
 
data = list(input())
symb = [chr(i).upper() for i in range(ord('A'),ord('Z')+1)]
numeral = [str(i) for i in range(10)]
letter_not_data = filter_symbol(symb,numeral)
index_lock = [i for i,x in enumerate(data) if x == '*']
for elem in comb(letter_not_data,index_lock):
    for i,x in zip(index_lock,elem): # проход по прямой комбинации типа (W,R)
        data[i] = x
    print(''.join(data))
    for i,x in zip(index_lock,reversed(elem)): #проход по обратной комбинации типа (R,W)
        data[i] = x
    print(''.join(data))
Добавлено через 7 минут
наверно так лучше
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from itertools import permutations
 
def filter_symbol(symb,numeral):
    ''' получаем символы которых нет в строке'''
    symb += numeral
    return list(filter(lambda x : x not in data, symb))
 
def comb(letter_not_data,idex_lock):
    ''' комбинируем без повторов'''
    return permutations(letter_not_data,len(idex_lock))
    
 
data = list(input())
symb = [chr(i).upper() for i in range(ord('A'),ord('Z')+1)]
numeral = [str(i) for i in range(10)]
letter_not_data = filter_symbol(symb,numeral)
index_lock = [i for i,x in enumerate(data) if x == '*']
for elem in comb(letter_not_data,index_lock):
    for i,x in zip(index_lock,elem): 
        data[i] = x
    print(''.join(data))
1
60 / 86 / 16
Регистрация: 25.03.2019
Сообщений: 235
10.05.2019, 21:55
Цитата Сообщение от killmonars Посмотреть сообщение
Написал код, зная питон только пару часов.
Не написал, а скопировал у кого-то.
0
0 / 0 / 0
Регистрация: 10.05.2019
Сообщений: 2
11.05.2019, 02:29  [ТС]
Цитата Сообщение от Yuri197 Посмотреть сообщение
Не написал, а скопировал у кого-то.
ну что я могу сказать...

скопировал у фонда знаний питонистов-артистов Ютуба

Добавлено через 16 минут
Цитата Сообщение от Semen-Semenich Посмотреть сообщение
наверно так лучше
запустил!
работает)

Вариантов оочень много,спасибо)

скажите пожалуйста,а как указать несколько переменных, например * и #
что бы указывать коду что например # - цифра, что-бы ставил в неё только цифры

и так наверное к кажной переменной

можно это добавить к уже написаному вами коду?

а то я не так делать пытался, мало еще знаком(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.05.2019, 02:29
Помогаю со студенческими работами здесь

Подбор шестизначного кода из google authenticator (реально или нет?)
Здравствуйте. Уже прошло около года как я потерял доступ к своему кошельку с dogecoin на https://my.dogechain.info/#/overview Причиной...

Запрос по всем столбцам, которые неизвестны + один из них должен быть вычисляемым
Всем доброго времени суток. Столкнулся с такой проблемой: Есть таблица со столбцами(около 100 шт.) из них известны имена только...

Собрать несколько блоков кода в один
Доброго вам всем дня дорогие форумчане! подскажите направьте в нужном направлении как решить такого рода момент, собрать воедино, т.е в...

Программа, берущая текстовый файл, заменяющая в нем несколько идущих подряд пробелов на один, а после выводит результат
Помогите составить такую программу. В итоге уже исправленный текст из файла должен вывестись на экран. Заранее благодарю.

Нужно из строки символов удалить символы которые встречаются в нем только один раз
Помогите пожалуйста! Очень нужно.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru