Найти - Пользователи
Полная версия: Вывести строку — словесное описание числа
Начало » Python для новичков » Вывести строку — словесное описание числа
1
zxzukraine
Дано целое число в диапазоне 100 – 999. Вывести строку — словесное описание данного числа, например: 256 — “двести пятьдесят шесть”, 814 — “восемьсот четырнадцать”.


Вот что у меня получилось:
nums =
 ["", "один", "два", "три", "четыри", "пять", "шесть", "семь", "восемь", "девять"]
teens=
 ["","десять","двадцать","тридцать","сорок", "пятьдесят","шестьдесят", "семдесят", "восемьдесят", "девяносто" ]
sotni=
["сто","двести","триста","четыреста","пятьсот","шестьсот","семьсот","восемьсот","девятьсот"]

n= int(input(“Введите число: ”))

s=n/100
t=n%100
tt=t/10
n=n%10


if >= 100 and <= 999:
print((sotni(s)+teens(tt)+nums(n))
else
print(“Число не входит в диапозон 100-999”)



print (number)



Не понимаю как по-другому сделать, мучаюсь уже третий день.
xam1816
Код в теги нужно обрамлять, это в редакторе сообщений рядом со смайлом
py.user.next
zxzukraine
Не понимаю как по-другому сделать, мучаюсь уже третий день.
Надо сделать функцию для двузначного числа. И потом уже надо сделать функцию для трёхзначного числа, которая использует функцию для двузначного числа. Функция для двузначного числа делается так: берёшь число, разделяешь его на две цифры, а потом проверяешь цифру десятков; если там единица, то слова будут из массива одиннадцать, двенадцать и так далее; если там не единица, то слова будут из массива двадцать, тридцать и так далее и массива один, два, три.

Таким образом 011 будет из функции для трёхзначного числа возвращать “одиннадцать”, 005 будет из функции для трёхзначного числа возвращать “пять”, а 105 будет из функции для трёхзначного числа возвращать “сто пять”.

Если будешь слитно всё делать, всегда будет проблема какая-то вылазить то тут, то там.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB