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

Вывести число прописью

16.12.2022, 17:15. Показов 2551. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер, есть данный код, помогите вывести на печать число в текстовом формате
Например, ответ 8 (при печати должно вывести "восемь")

import math

slovar = {
'ноль': 0, 'один': 1, 'два': 2, 'три': 3, 'четыре': 4, 'пять': 5, 'шесть': 6, 'семь': 7, 'восемь': 8, 'девять': 9,
'десять': 10, 'одиннадцать': 11, 'двенадцать': 12, 'тринадцать': 13, 'четырнадцать': 14, 'пятнадцать': 15,
'шестнадцать': 16, 'семнадцать': 17, 'восемнадцать': 18, 'девятнадцать': 19, 'двадцать': 20, 'тридцать': 30,
'сорок': 40, 'пятьдесят': 50, 'шестьдесят': 60, 'семьдесят': 70, 'восемьдесят': 80, 'девяносто': 90, 'плюс': '+',
'минус': '-', 'умножить на': '*', 'скобка открывается': '(', 'скобка закрывается': ')', 'в степени': '**',
'разделить на': '/',
}

slov_doublewords = ['умножить', 'скобка', 'в','разделить']
operation = input('Введите операцию --> ')



def calc(slovar, operation):
op2 = []
es = ''
operation = operation.split()
for word in operation:
if word in slov_doublewords:
es += word
continue
if es:
op2.append(slovar[es + " " + word])
es = ''
continue
op2.append(slovar[word])
print(op2)
op2 = ' '.join(list(map(str, op2)))
op2 = eval(op2)
print('Ответ: ',op2)

calc(slovar, operation)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.12.2022, 17:15
Ответы с готовыми решениями:

Вывести число прописью
Напишите функцию number_to_words(n), которая будет возвращать переданное в качестве параметра n число словами. Формат ввода Целое...

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

Число прописью
С клавиатуры вводится любое количество гривен. Вывести результат в числовом и текстовом виде. Например, вводим 69, а выводится 69...

5
2431 / 1474 / 633
Регистрация: 01.11.2021
Сообщений: 2,269
16.12.2022, 17:33
Подскажи, что надо ввести при запуске, чтобы получить ответ? Я так и не понял, может отформатировал криво.
Разобрался.

Добавлено через 5 минут
Python
1
2
3
4
from num2words import num2words
 
op2 = 1934
print('Ответ: ', num2words(op2, lang='ru'))
1
0 / 0 / 0
Регистрация: 16.12.2022
Сообщений: 3
16.12.2022, 17:34  [ТС]
Этот вариант я знаю, но требуют вариант без модулей, к сожалению
0
2431 / 1474 / 633
Регистрация: 01.11.2021
Сообщений: 2,269
16.12.2022, 17:42
Тогда тут посомотри
Вывести число прописью
0
0 / 0 / 0
Регистрация: 16.12.2022
Сообщений: 3
16.12.2022, 19:14  [ТС]
TypeError: 'module' object is not callable
К варианту с модулем, при этом модуль скачан и установлен, в чем беда?

Добавлено через 7 минут
Поправил у себя, всё норм

Добавлено через 1 час 1 минуту
Как сделать, чтобы я смог складывать к примеру числа: "сорок один плюс три"? При попытке вылезает ошибка(

Добавлено через 55 секунд
Двойные слова из словаря не воспринимает всерьёз
0
2431 / 1474 / 633
Регистрация: 01.11.2021
Сообщений: 2,269
16.12.2022, 21:15
Цитата Сообщение от Passionne Посмотреть сообщение
Двойные слова из словаря не воспринимает всерьёз
У тебя строка вводится, пример:
Python
1
2
3
operation = 'двадцать три умножить на двадцать три'
operation = operation.split()
operation == ['двадцать', 'три', 'умножить', 'на', 'двадцать', 'три']
потом ты ее разбиваешь по пробелу и получаешь список

Вот где в этом списке "двойные слова", которые ты хочешь взять из словаря?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.12.2022, 21:15
Помогаю со студенческими работами здесь

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

Вывести число прописью
Я бы тоже внес свою лепту в форумский FAQ. Есть у меня программа которая конвертирует число от 1 до 999 в прописную строку.. Не раз...

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

Вывести число прописью
Очень нужна программа в которой вводишь число от 0 до 1 000 000 и она его прописью выдаёт.

Вывести число прописью
нам домашку задали написать программу в которую вводишь число от 0 до 9 и она его прописью выдаёт. Помогите плиз как сделать :impossible:


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Ниже машинный перевод статьи The Thinkpad X220 Tablet is the best budget school laptop period . Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы,. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru