Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/25: Рейтинг темы: голосов - 25, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 28.10.2017
Сообщений: 31

программа перевода на свинский латинский

28.10.2017, 18:19. Показов 5093. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
помогите пож с задачей, я понимаю, что через цикл, а как именно, не знаю

Семейство диалектов свинского латинского (поросячьей латыни) по-русски, строится по следующему принципу: после слога, содержащего гласную, добавляется слог с этой же гласной, но с постоянной согласной буквой, например «с» — «синий язык».
Напишите программу, которая неоднократно запрашивает текст на руссом языке и постоянную согласную букву (с, б, з, ф или к) и переводит на свинский латинский. Пользователь может либо перевести еще одну фразу, либо остановить выполнение программы.
Можно доработать программу, добавив обратный перевод.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.10.2017, 18:19
Ответы с готовыми решениями:

Программа латинский квадрат
помогите пожалуйста, не разбираюсь в криптографии задание: 1) Создать латинский алфавит 4x4 2) Зашифровать с его помощью блок из...

Программа перевода
Мне нужно сделать программу перевода целого числа в буквенную форму записи, например 124 = сто двадцать четыре. х є {0,1000000} Можете...

Программа перевода
1)Дано уравнение : 236по основанию7+Хпо основанию3+72по основанию9*100по основанию5=ВА9 по основанию16. Чему равно значение Хпо...

6
Джоуи
 Аватар для Joey
1083 / 645 / 240
Регистрация: 05.05.2015
Сообщений: 3,559
Записей в блоге: 2
28.10.2017, 23:47
надя18, понравилась задача, и сама тема поросячьей латыни (когда-то читал про нее), держите готовый код (работает с кирилиицей), но постарайтесь по коду сами понять решение
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import sys
f = 'Это пример поросячьей латыни'
f = f.lower() # переводим строку в нижний регистр
d = f.split() # делим строку на слова
presetC = input("Введите согласный по умолчанию: ")
presetVows = input("Введите добавляемый слог: ")
 
alphCons = 'бвгджзйклмнпрстфхцчшщъь'
alphVows = 'аеёиоуыэюя'
 
if (not (presetC.isalpha()) or not (presetVows.isalpha())):
    sys.exit(0) # если ввод неправильный (например, цифры или пустая строка)
i = 0
n = 1
for w in d:
    if d[i][0] in alphCons:
        d[i] = d[i][1:] + d[i][0] + presetVows
    else:
        d[i] = d[i] + presetC + presetVows
    print(d[i])
    i = i + 1
Читайте комментарии. Вот результат выполнения
Миниатюры
программа перевода на свинский латинский  
0
Джоуи
 Аватар для Joey
1083 / 645 / 240
Регистрация: 05.05.2015
Сообщений: 3,559
Записей в блоге: 2
28.10.2017, 23:52
Лучший ответ Сообщение было отмечено надя18 как решение

Решение

Можно чуть модифицировать и сделать как надо - перенос на конец ВСЕХ первых согласных
0
Джоуи
 Аватар для Joey
1083 / 645 / 240
Регистрация: 05.05.2015
Сообщений: 3,559
Записей в блоге: 2
29.10.2017, 00:34
Вот дополненный вариант с учетом слов, начинающихся с нескольких согласных
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
import sys
f = 'Это пример поросячьей латыни ЕЁ не так уж и много'
f = f.lower() # переводим строку в нижний регистр
d = f.split() # делим строку на слова
presetC = input("Введите согласный по умолчанию: ")
presetVows = input("Введите добавляемый слог: ")
 
alphCons = 'бвгджзйклмнпрстфхцчшщъь'
alphVows = 'аеёиоуыэюя'
 
if (not (presetC.isalpha()) or not (presetVows.isalpha())):
    sys.exit(0) # если ввод неправильный (например, цифры или пустая строка)
i = 0
n = 1
for w in d:
    if (d[i][0] in alphCons):
        if len(d[i]) > 2:
            if d[i][1] in alphCons:
                for m in range(2, len(d[i])):
                    if not (d[i][m] in alphCons):
                        n = m
                        break
        d[i] = d[i][n:] + d[i][:n] + presetVows
    else:
        d[i] = d[i] + presetC + presetVows
    n = 1
    print(d[i])
    i = i + 1
input() # ожидание нажатия Enter
Результат
Миниатюры
программа перевода на свинский латинский  
1
0 / 0 / 0
Регистрация: 28.10.2017
Сообщений: 31
29.10.2017, 07:36  [ТС]
спасибо большое, но там проблема в том, что после слога, содержащего гласную, добавляется слог с ЭТОЙ же гласной, но с постоянной согласной буквой, то есть по пользователю не надо вводить добавляемый слог, например: Убу побопаба быбылаба собобабакаба
0
Джоуи
 Аватар для Joey
1083 / 645 / 240
Регистрация: 05.05.2015
Сообщений: 3,559
Записей в блоге: 2
29.10.2017, 18:44
Лучший ответ Сообщение было отмечено надя18 как решение

Решение

надя18, понятно. Делал по википедии. Сможете переделать?
0
0 / 0 / 0
Регистрация: 28.10.2017
Сообщений: 31
29.10.2017, 20:27  [ТС]
нет, я не поумнела за сутки, к сожалению
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.10.2017, 20:27
Помогаю со студенческими работами здесь

Программа перевода из C в C++
Часто вижу в ветке по C++ темы, аля "Есть программа на Си переведите на C++ или наоборот". Так вот решил я написать программку,...

Программа перевода из 14-й в 6-ю СС
хелп миии

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

Программа для перевода из 10 СС в 5 СС
Помогите написать прогу для перевода из 10 с/с в 5 с/с

Си, программа перевода в другие СС
Дано целое десятичное число. вывести его как число в системе счисления с основанием 11 Если у кого-то есть решение, скиньте плиз...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в конфигурации КА2. Данные берутся из регистра сведений, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru