Напишите программу, которая спрашивает пользователя о двузначном числе, которое больше 20, и выводит его название

  • 12
Напишите программу, которая спрашивает пользователя о двузначном числе, которое больше 20, и выводит его название. Например, если пользователь вводит 83, программа должна вывести "восемьдесят три".
Letayuschiy_Kosmonavt
32
Конечно! Для решения этой задачи, нам потребуется написать программу на языке Python. Программа будет принимать от пользователя двузначное число, которое больше 20, и затем будет выводить его название на русском языке.

Вот пошаговое решение задачи:

1. Сначала мы попросим пользователя ввести двузначное число с помощью функции `input()`:

python
number = int(input("Введите двузначное число, большее 20: "))


2. Далее, нам нужно проверить, что число является двузначным и больше 20. Мы можем это сделать с помощью условных операторов `if`:

python
if number < 20 or number > 99:
print("Число должно быть двузначным и больше 20!")
exit()


3. Теперь нам нужно разделить число на десятки и единицы. Это можно сделать с помощью операций деления нацело `//` и остатка от деления `%`:

python
tens = number // 10
units = number % 10


4. Далее, нам нужно создать словари, которые будут содержать названия для каждой цифры:

python
digits_names = {
0: "ноль",
1: "один",
2: "два",
3: "три",
4: "четыре",
5: "пять",
6: "шесть",
7: "семь",
8: "восемь",
9: "девять"
}

tens_names = {
2: "двадцать",
3: "тридцать",
4: "сорок",
5: "пятьдесят",
6: "шестьдесят",
7: "семьдесят",
8: "восемьдесят",
9: "девяносто"
}


5. Теперь мы можем использовать полученные значения `tens` и `units` для формирования названия числа. Для этого мы будем обращаться к соответствующим словарям:

python
if tens == 1:
# Если число является десятком, то берем название из словаря tens_names
result = tens_names[1 + units]
else:
# Если число не является десятком, то берем название из обоих словарей
result = tens_names[tens] + " " + digits_names[units]


6. Наконец, мы выводим полученный результат на экран:

python
print(result)


Вот полная программа:

python
number = int(input("Введите двузначное число, большее 20: "))

if number < 20 or number > 99:
print("Число должно быть двузначным и больше 20!")
exit()

tens = number // 10
units = number % 10

digits_names = {
0: "ноль",
1: "один",
2: "два",
3: "три",
4: "четыре",
5: "пять",
6: "шесть",
7: "семь",
8: "восемь",
9: "девять"
}

tens_names = {
2: "двадцать",
3: "тридцать",
4: "сорок",
5: "пятьдесят",
6: "шестьдесят",
7: "семьдесят",
8: "восемьдесят",
9: "девяносто"
}

if tens == 1:
result = tens_names[1 + units]
else:
result = tens_names[tens] + " " + digits_names[units]

print(result)


Надеюсь, эта программа поможет вам решить задачу! Если у вас есть какие-либо вопросы или нужна дополнительная помощь, пожалуйста, не стесняйтесь спрашивать.