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

Переводим целые числа в числительные

29.03.2022, 19:22. Показов 9775. Ответов 14

Студворк — интернет-сервис помощи студентам
Переводим целые числа в числительные. Такие слова, как первый, второй, третий, являются числительными. В данном упражнении вам необходимо написать функцию, принимающую на вход в качестве единственного аргумента целое число и возвращающую строковое значение, содержащее соответствующее числительное (на английском языке). Ваша функция должна обрабатывать числа в диапазоне от 1 до 12. Если входящее значение выходит за границы этого диапазона, вывод должен оставаться пустым. В основной программе запустите цикл
по натуральным числам от 1 до 12 и выведите на экран соответствующие им числительные.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.03.2022, 19:22
Ответы с готовыми решениями:

Даны целые числа A и B (A < B). Вывести все целые числа от A до B, при этом число A+n должно выводиться n+1 раз
Даны целые числа A и B (A &lt; B). Вывести все целые числа от A до B включительно; при этом число A должно выводиться 1 раз, число A + 1 ...

Даны целые положительные числа A и B (A < B). Вывести все целые числа от A до B включительно; при этом каждое
Даны целые положительные числа A и B (A &lt; B). Вывести все целые числа от A до B включительно; при этом каждое число должно выводиться ...

Задана строка, содержащая целые числа (максимум 15 чисел). Упорядочить целые числа в строке по убыванию.
Задана строка, содержащая целые числа (максимум 15 чисел). Упорядочить целые числа в строке по убыванию. сделать препод сказал самым...

14
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
29.03.2022, 19:32
12 ифов в цикле написать и готово
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
29.03.2022, 19:39
Damenikx, так себе идея.
dimadim0, числительные сложить в список и выводить по индексу

Добавлено через 1 минуту
Python
1
2
3
lst = ['', 'первый', 'второй', 'третий']
print(lst[1])
print(lst[3])
Добавлено через 52 секунды
Python
1
2
def foo(n):
    return ['', 'первый', 'второй', 'третий'][n]
Добавлено через 47 секунд
dimadim0, проверку входного n сам напишешь
1
6 / 3 / 3
Регистрация: 05.05.2022
Сообщений: 39
11.02.2023, 17:59
Тоже попалась эта задача, но смутило условие, а если, как в чеке: нужно выбить многозначное число словами...
Помог этот модуль:
**pip install num2words

Python
1
2
3
4
5
6
7
8
from num2words import num2words
 
def ordinal_numeral():
    num = int(input('Введите целое число: '))
    print(num2words(num, to='ordinal', lang='ru')) #язык можно менять
    #print(num2words(num, lang='ru')) #обычное число словами
    
print(ordinal_numeral())
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38167 / 21102 / 4307
Регистрация: 12.02.2012
Сообщений: 34,690
Записей в блоге: 14
11.02.2023, 19:53
Цитата Сообщение от nohtyP Посмотреть сообщение
Тоже попалась эта задача
Цитата Сообщение от nohtyP Посмотреть сообщение
Помог этот модуль:
- и как, решение приняли? Я бы принял... у автора модуля.
1
6 / 3 / 3
Регистрация: 05.05.2022
Сообщений: 39
11.02.2023, 20:06
Catstail, задача из учебника (сборник упражнений))))
Прошла интенсивный базовый курс по Питону, а практиковаться возможности нет, вот и взялась за задачки

Цитата Сообщение от Catstail Посмотреть сообщение
Я бы принял... у автора модуля.
Это да, автору - респект))) Мож, дорасту когда-нибудь до написания таких вот модулей-"помогашек")
0
 Аватар для Semen-Semenich
5220 / 3468 / 1172
Регистрация: 21.03.2016
Сообщений: 8,295
11.02.2023, 20:40
Цитата Сообщение от Damenikx Посмотреть сообщение
12 ифов в цикле написать и готово
завтра задание будет звучать до десяти тысяч - будем 10 000 ифов писать?
Python
1
2
3
4
5
res = {}
a = ['первый', 'второй', 'третий'] # и до двенадцати
for i, x in enumerate(a,1):
    res.setdefault(i, x)
print(res.get(int(input()), ' '))
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38167 / 21102 / 4307
Регистрация: 12.02.2012
Сообщений: 34,690
Записей в блоге: 14
11.02.2023, 21:11
Нашел свой старый код для перевода миллиардных сумм (на русском, что сложнее). В ближайшее время переведу на Питон.
0
6 / 3 / 3
Регистрация: 05.05.2022
Сообщений: 39
11.02.2023, 21:21
Цитата Сообщение от Catstail Посмотреть сообщение
Нашел свой старый код для перевода миллиардных сумм (на русском, что сложнее). В ближайшее время переведу на Питон
Круто))) Еще бы добавить падежное склонение числительных - и красота))
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38167 / 21102 / 4307
Регистрация: 12.02.2012
Сообщений: 34,690
Записей в блоге: 14
14.02.2023, 18:55
Вот моя поделка (давняя, на VBA - перенес в Питон):

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
'''
            Вывод "Сумма пpописью"            
'''
 
def num2word(summa):
    
    De=["","ДЕСЯТЬ","ДВАДЦАТЬ","ТРИДЦАТЬ","СОРОК","ПЯТЬДЕСЯТ","ШЕСТЬДЕСЯТ","СЕМЬДЕСЯТ","ВОСЕМЬДЕСЯТ","ДЕВЯНОСТО"]
    Hu=["","СТО","ДВЕСТИ","ТРИСТА","ЧЕТЫРЕСТА","ПЯТЬСОТ","ШЕСТЬСОТ","СЕМЬСОТ","ВОСЕМЬСОТ","ДЕВЯТЬСОТ"]
    Un=["","ОДИН","ДВА","ТРИ","ЧЕТЫРЕ","ПЯТЬ","ШЕСТЬ","СЕМЬ","ВОСЕМЬ","ДЕВЯТЬ","ДЕСЯТЬ","ОДИННАДЦАТЬ","ДВЕНАДЦАТЬ",
        "ТРИНАДЦАТЬ","ЧЕТЫРНАДЦАТЬ","ПЯТНАДЦАТЬ","ШЕСТНАДЦАТЬ","СЕМНАДЦАТЬ","ВОСЕМНАДЦАТЬ","ДЕВЯТНАДЦАТЬ","ДВАДЦАТЬ"]
    rubs=["рублей","рубль","рубля","рубля","рубля","рублей","рублей","рублей","рублей","рублей",
         "рублей","рублей","рублей","рублей","рублей","рублей","рублей","рублей","рублей","рублей"]
    kops=["копеек","копейка","копейки","копейки","копейки","копеек","копеек","копеек","копеек","копеек"]
 
    def putclass(cc,txt):
 
        ind=[0,0,0,0]
        for i in range(3):
            ind[i+1] = cc % 10
            cc = cc//10
 
        i = ind[2] * 10 + ind[1]
 
        if (i <= 9) or (i > 20):
           last = ind[1]
        else:
           last = i
 
        for i in range(3,0,-1):
 
            k = ind[i]
 
            if (k == 0):            
                continue
                
            if (i == 1):
            
               if (k == 1):
               
                  if (cl == 1) or (cl == 3):
                     txt = txt + " ОДИН"
                  else:
                     txt = txt + " ОДНА"
                  
                  continue
               
               if (k == 2):
               
                  if (cl == 1 or cl == 3):
                     txt = txt + " ДВА"
                  else:
                     txt = txt + " ДВЕ"
                  
                  continue
            
            if (i == 3):
               txt = txt + " " + Hu[k]
            
            if (i == 2):
            
               if (k > 1):
                  
                  txt = txt + " " + De[k]
               
               else:
                  
                  k = ind[2] * 10 + ind[1]
                  txt = txt + " " + Un[k]
                  
                  return txt,last
            
            if (i == 1):
               txt = txt + " " + Un[k]
        
        return txt,last
    
    # Начало выполнения
        
    ls=len(summa)
    if ls < 12:
        summa="0"*(12-ls)+summa
    
    q = summa[0:10]
        
    kop = summa[-2::1]
 
    txt = ""
 
    qm=summa[0:3]
    qt=summa[3:6]
    qu=summa[6:9]       
 
    #print(qm,qt,qu)
    
    cc = int(qm)
        
    if (cc != 0):
        
        cl = 3
           
        txt,last=putclass(cc,txt)
           
        if (last == 1):
            txt = txt + " МИЛЛИОН"
        if (last > 1 and last <= 4):
            txt = txt + " МИЛЛИОНА"
        if (last > 4):
            txt = txt + " МИЛЛИОНОВ"
 
    cc = int(qt)
        
    if (cc != 0):
           
       cl = 2
           
       txt,last=putclass(cc,txt)
           
       if (last == 1):
           txt = txt + " ТЫСЯЧА"
       if (last > 1 and last <= 4):
            txt = txt + " ТЫСЯЧИ"
       if (last > 4 or last == 0):
            txt = txt + " ТЫСЯЧ"
 
    cc = int(qu)
    cl = 1
        
    txt,last=putclass(cc,txt)
 
    rrr=cc%100
    
    if rrr <= 19:
        nrub=rubs[rrr]
    else:
        rr=cc%10
        nrub=rubs[rr]  
      
    # Копейки  
        
    if (int(kop) >= 5) and (int(kop) <= 20):
       nkop = "копеек"
    else:
       minor = int(kop)%10
       nkop=kops[minor]
 
    txt = txt + " " + nrub + " " + kop + " " + nkop
 
    return txt 
 
print(num2word("23712150.83"))
0
0 / 0 / 0
Регистрация: 22.01.2023
Сообщений: 1
20.08.2024, 03:18
Python
1
2
3
4
5
6
7
8
9
def foo(n):
    if 0 <= n <= 12:
        return ['', 'First', 'Second', 'Third', 'Fourth', 'Fifth', 'Sixth',
                'Seventh', 'Eighth', 'Ninth', 'Tenth', 'Eleventh', 'Twelfth'][n]
    else:
        return 'Invalid input'
 
 
print(foo(1))
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6151 / 2843 / 1041
Регистрация: 01.06.2021
Сообщений: 10,372
23.08.2024, 10:48
Цитата Сообщение от iSmokeJC Посмотреть сообщение
так себе идея
да норм идея, учитывая, что

Цитата Сообщение от dimadim0 Посмотреть сообщение
Ваша функция должна обрабатывать числа в диапазоне от 1 до 12
0
 Аватар для Aviz__
2736 / 2046 / 506
Регистрация: 17.02.2014
Сообщений: 9,462
24.08.2024, 09:21
dimadim0,
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
numerals = {
        1: "first",
        2: "second",
        3: "third",
        4: "fourth",
        5: "fifth",
        6: "sixth",
        7: "seventh",
        8: "eighth",
        9: "ninth",
        10: "tenth",
        11: "eleventh",
        12: "twelfth"
    }
.get(n, "") добавишь правильно сам?
nohtyP, поищи тут давали много ресурсов с задачами. на этом форуме тоже много интересных заданий, но они бессистемны, т.е. ты будешь, как уличный боец, сможешь побить Тайсона, но на большой ринг тебя не пустят. удачи.
0
24.08.2024, 11:46

Не по теме:

посты в прошлое... что за мода пошла некротическая... поднимать темы из небытия? некрофилия какая-то :)

0
30.08.2024, 17:21

Не по теме:

Цитата Сообщение от Catstail Посмотреть сообщение
- и как, решение приняли? Я бы принял... у автора модуля.
Мы как-то писали умножение матриц. На любом языке программирования. Один из сокурсников принёс numpy. Препод очень задумчиво смотрел на собственно строчку умножения. Но принял. Спойлер: сокурснику это не помогло в следующих заданиях

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.08.2024, 17:21
Помогаю со студенческими работами здесь

Задана строка, содержащая целые числа (максимум 15 чисел). Упорядочить целые числа в строке по убыванию.
Задана строка, содержащая целые числа (максимум 15 чисел). Упорядочить целые числа в строке по убыванию. должно выглядеть что то...

В порядке убывания напечатать все целые числа из диапазона 1 . 100, которые можно представить в виде., где n, k - целые числа
В порядке убывания напечатать все целые числа из диапазона 1 .. 100, которые можно представить в виде n2+2k2...., где n, k - целые числа.

Даны целые положительные числа A и B (A < B). Вывести все целые числа от A до B включительно
Даны целые положительные числа A и B (A &lt; B). Вывести все целые числа от A до B включительно; при этом каждое число должно выводиться...

Даны целые числа A и B (A < B). Вывести все целые числа от A до B включительно
Здравствуйте коллеги! Помогите написать код на JAVA: Даны целые числа A и B (A &lt; B). Вывести все целые числа от A до B включительно;...

Мы вводим натуральное число N, переводим в двоичный вид все числа от 1 до N и выводим на экран. Не могу найти ошибку
Мы вводим натуральное число N, переводим в двоичный вид все числа от 1 до N и выводим на экран. Не могу найти ошибку. int main() { ...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru