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

Можно ли превратить первую строку во вторую

09.10.2020, 17:29. Показов 855. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, прохожу тестовое задание на встроенных на сайте тестах мой код работает, в нём реализованы проверки на регистр, длину и язык, судя по всему при проверке задания происходит какая-то дополнительная проверка, но какая я не пойму, можете подсказать? Само задание и мой код привожу ниже:

Условие задачи

Ограничение времени, с 1
Ограничение памяти, МБ 64
Общее число попыток отправки 15

На вход подается 2 подстроки. Нужно определить, можно ли превратить первую во вторую, заменяя одни буквы на другие, с учетом следующих правил:

- участвуют только буквы русского алфавита а-я;
- все буквы в нижнем регистре;
- за один шаг нужно преобразовать все вхождения одной буквы в другую букву.

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


Выходные данные
В качестве ответа в стандартный вывод программа должна выводить 1 (если превратить можно) или 0 (если превратить нельзя).


Пример 1
Входные данные: привет прикол
Выходные данные: 1
Преобразования (выводить не нужно):
в ⇒ к (прикет)
е ⇒ о (прикот)
т ⇒ л (прикол)


Пример 2
Входные данные: ааббдд ддббаа
Выходные данные: 1
Преобразования (выводить не нужно):
д ⇒ я (ааббяя)
а ⇒ д (ддббяя)
я ⇒ а (ддббаа)


Пример 3
Входные данные: абаб ааах
Выходные данные: 0
Преобразовать нельзя, так как 'б' не сможет оказаться одновременно 'а' и 'х'.



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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
def check(input):
    input = input.split()
    #проверка на регистр
    #print(list(''.join(input)))
    for i in list(''.join(input)):
        if i != i.lower():
            #print(0)
            return 0
    #input = input.lower()
    #input = input.split()
 
    #проверка на русский язык
    alphavit = [chr(i) for i in range(1072, 1104)]
    for i in list(''.join(input)):
        if i not in alphavit:
            #print(0)
            return 0
 
    #проверка на одинаковую длинну
    first, second = list(input[0]), list(input[1])
    if len(first) != len(second):
        #print(0)
        return 0
 
    #создание словаря и изменение первой подстроки
    d = {}
    for i, item in enumerate(first):
        if item not in d:
            d[item] = second[i]
        if item in d:
            first[i] = d[item]
 
    if first == second:
        #print(1)
        return 1
    #print(0)
    return 0
 
print(check(input()))
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.10.2020, 17:29
Ответы с готовыми решениями:

Определить, можно ли превратить первую строку во вторую, заменяя одни буквы на другие по заданным правилам.
Добрый день, не понимаю что я делаю не так. Задача: Ограничение времени, с 1 Ограничение памяти, МБ 64 Общее число попыток...

Проверить, можно ли из букв, входящих в первую строку, составить вторую строку
Даны две строки. Проверить, можно ли из букв, входящих в первую строку, составить вторую строку. Например, первое слово ИНТЕГРАЛ, второе...

Проверить можно ли из слов входящих в первую строку составить вторую строку
Даны две строки (char str1, str2), содержащие хотя бы одно слово. Проверьте, можно ли из слов, входящих в str1, составить str2, если при...

6
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
09.10.2020, 17:31
Алгоритм как называется?
0
710 / 356 / 104
Регистрация: 09.02.2018
Сообщений: 805
09.10.2020, 18:57
Может, проблема с проверкой на русский язык?
Предлагаю тест:

Входные данные:
а ё
Выходные данные:
1
0
Заяц, просто Заяц.
 Аватар для Fury67
666 / 280 / 156
Регистрация: 12.11.2017
Сообщений: 882
09.10.2020, 19:06
Ну программа не обрабатывает пустую строку, например.

Добавлено через 1 минуту
А какая ошибка от онлайн-проверки? Ошибка времени/памяти/вывода?
0
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
09.10.2020, 19:06
Два Counter из collections и вся задача
0
Заяц, просто Заяц.
 Аватар для Fury67
666 / 280 / 156
Регистрация: 12.11.2017
Сообщений: 882
09.10.2020, 19:09
Кстати, да, у тебя в alphavit нет буквы 'ё'. Как правильно заметил КулХацкеръ

Добавлено через 1 минуту
Вот так можешь добавить после объявления самого alphavit
Python
1
alphavit.append('ё')
0
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
09.10.2020, 19:29
а все, вспомнил эту задачу, тогда тоже с первого раза не понял
Преобразования слов
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.10.2020, 19:29
Помогаю со студенческими работами здесь

Массив: Поменять местами первую строку с последней, вторую строку с предпоследней и т.д.
Дан квадратный массив порядка 2n(т.е. четный). Поменять местами первую строку с последней, вторую строку с предпоследней и т.д.

Как переписать вторую строку textBox (B) новым текстом оставив первую строку неизменной?
Имеем textBox1.Text = "A"; textBox1.Text = textBox1.Text + Environment.NewLine + "B"; textBox1.Text = // //Вывод: //A //B ...

Даны две строки. Вставить в первую строку вторую строку, перед каждым знаком препинания ,.:!?;
Ребята помогите решить пожалуйста вот такую задачу. Даны две строки. Вставить в первую строку вторую строку, перед каждым знаком препинания...

Есть две строки, после каждого вхождения определенного символа, в первую строку вставить вторую строку
<script> var s="dndcddcn"; s0="ddf"; for(var i=0;i<s.length();i++) { s=s+s; if (s=n) s=s+s0; } ...

Вставьте вторую строку в первую, начиная с пятой позиции.Распечатайте новую строку и подсчитайте сколько в ней символов
Всем доброго времени суток. Помогите,пожалуйста,с программами: 1)Даны матрицы А(5,3) и С(5,4),каждая из них содержит два одинаковых...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru