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

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

29.03.2022, 19:22. Показов 9915. Ответов 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
38180 / 21115 / 4307
Регистрация: 12.02.2012
Сообщений: 34,722
Записей в блоге: 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
5234 / 3479 / 1175
Регистрация: 21.03.2016
Сообщений: 8,306
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
38180 / 21115 / 4307
Регистрация: 12.02.2012
Сообщений: 34,722
Записей в блоге: 14
11.02.2023, 21:11
Нашел свой старый код для перевода миллиардных сумм (на русском, что сложнее). В ближайшее время переведу на Питон.
0
6 / 3 / 3
Регистрация: 05.05.2022
Сообщений: 39
11.02.2023, 21:21
Цитата Сообщение от Catstail Посмотреть сообщение
Нашел свой старый код для перевода миллиардных сумм (на русском, что сложнее). В ближайшее время переведу на Питон
Круто))) Еще бы добавить падежное склонение числительных - и красота))
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38180 / 21115 / 4307
Регистрация: 12.02.2012
Сообщений: 34,722
Записей в блоге: 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
6222 / 2923 / 1046
Регистрация: 01.06.2021
Сообщений: 10,820
23.08.2024, 10:48
Цитата Сообщение от iSmokeJC Посмотреть сообщение
так себе идея
да норм идея, учитывая, что

Цитата Сообщение от dimadim0 Посмотреть сообщение
Ваша функция должна обрабатывать числа в диапазоне от 1 до 12
0
 Аватар для Aviz__
2753 / 2060 / 509
Регистрация: 17.02.2014
Сообщений: 9,487
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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru