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

Взятие даты

27.03.2021, 22:21. Показов 2052. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет. Начал изучать питон вот написал первую программу подсчета отпускных,но не понял как заставит питон пропускать строку если в инпут ввели что то кроме числа или же он пуст и еще нужно чтобы питон видел дату компа и по нему применял формулу ниже. Спасибо
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
        print('Отпускные')
        e = int(input('\nВведи зарплату: '))
        staj = int(input('\nСколько лет стажа: '))
        if 1 <= staj <= 5:
            staj = 30
        elif 6 <= staj <= 10:
            staj = 32
        elif 11 <= staj <= 15:
            staj = 34
        else:
            staj > 15
            staj = 36   
        dop = int(input('\nВведи дополнительные рабочие часы если есть: '))
        if dop > 0 :
            year = e * 12 + dop
            mount = year / 12
            day = mount / 30.4 #и вот тут нужно чтобы питон сам понял в каком году мы находимся если в году 365 дней #тогда 30,4 если 366 тогда 30,5 но как затавить питон видеть дату компа? 
            mez_mas = day * staj
            print('Отпускные :' , mez_mas , 'Euro')
        elif dop == 0 or dop == None: #вот тут не знаю что написать чтобы если рабочих часов нету пропускало строку
            year = e * 12   
            mount= year / 12
            day= mount / 30.4
            mez_mas = day * staj
            print('Отпускные :' , mez_mas , 'Euro')
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.03.2021, 22:21
Ответы с готовыми решениями:

Вставка и взятие результата из конкретного cmd
Всем привет. Мне нужно работать с конкретным cmd(вводить несколько команд в один, не открывая новый). После этого нужно считывать...

С некоторой даты по настоящий день прошло m месяцев, определить название месяца неизвестной даты
С некоторой даты по настоящий день прошло m месяцев, определить название месяца неизвестной даты.

Дан файл, содержащий различные даты. Каждая дата - это число, месяц и год. Найти все весенние даты
Дан файл, содержащий различные даты. Каждая дата - это число, месяц и год. Найти все весенние даты

8
Эксперт Python
8850 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,316
27.03.2021, 22:53
Лучший ответ Сообщение было отмечено RH313 как решение

Решение

RH313,
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import calendar
import datetime
print('Отпускные')
k = 0.1 if calendar.isleap(datetime.datetime.now().year) else 0
e = int(input('\nВведи зарплату: '))
staj = int(input('\nСколько лет стажа: '))
 
staj = 30 + min(2 * (staj - 1) // 5, 6)
 
dop = int(input('\nВведи дополнительные рабочие часы если есть: '))
 
year = e * 12 + (dop if dop > 0 else 0) 
mount = year / 12
day = mount / (30.4 + k)
mez_mas = day * staj
print('Отпускные :' , mez_mas , 'Euro')
1
0 / 0 / 0
Регистрация: 29.12.2020
Сообщений: 15
27.03.2021, 23:02  [ТС]
Спасибо большое , всё замечательно работает. Надо бы мне как то найти все эти команды на будущее
0
10 / 6 / 4
Регистрация: 21.03.2021
Сообщений: 16
27.03.2021, 23:26
У меня вопрос, а что именно замечательно работает ? В программе не прописано ни одного исключения, точнее при пустом вводе и вводе текста вместо цифры, прога крашится...
0
0 / 0 / 0
Регистрация: 29.12.2020
Сообщений: 15
27.03.2021, 23:30  [ТС]
import calendar
import datetime
print('Отпускные')
k = 0.1 if calendar.isleap(datetime.datetime.now(). year) else 0

Это замечательно работает. Остальное немного переделал. Там типа логика такая что за каждые 5 лет стажа дают +2 дня отпуска типа нужно за каждые 5 лет прибавлять к 30 дням отпуска 2 дня. Теперь пытаюсь это построить как то. А вот то что с календарем работает нормально
0
Эксперт Python
8850 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,316
28.03.2021, 00:44
RH313, по поводу двух дней к отпуску реализовано в 8-й строчке - там за каждые пять лет плюс 2 дня, максимум 6 дней.
1
0 / 0 / 0
Регистрация: 29.12.2020
Сообщений: 15
28.03.2021, 00:54  [ТС]
Там не всё корректно допустим если у человека 4 года стажа ему считает по формуле в 8 строке 31 дня или если 10 лет стажа то пишется 33 дня хотя это неверно
с 1 до 5 лет = 30 дня
с 6 до 10 лет = 32 дня
с 11 до 15 года стажа = 34 дня
и если больше 15 лет стажа тогда 36 дня в году отпуск
0
Эксперт Python
8850 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,316
28.03.2021, 05:34
Лучший ответ Сообщение было отмечено RH313 как решение

Решение

RH313, да, пропустил скобку
Python
1
staj = 30 + min(2 * ((staj - 1) // 5), 6)
1
0 / 0 / 0
Регистрация: 29.12.2020
Сообщений: 15
28.03.2021, 12:40  [ТС]
Спасибо, проверил всё работает корректно )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.03.2021, 12:40
Помогаю со студенческими работами здесь

Взятие даты из DataGridView и увеличение на n числа
Есть дата, которую я беру из datagridview var date = (productsBindingSource.Current as...

Взятие UI
доброго всем времени суток. интересует вопрос, а можно ли воспользоваться каким-то сторонним сервисом/виджетом/расширениемИт.п. для...

Взятие производной
Привет всем! А кто-нибудь может подробно обьяснить как взять производную от функции и если можно на примере показать все шаманство с ней !

Взятие производной
{x}^{x} -&gt; {{e}^{ln(x)}}^{x} -&gt; {e}^{ln(x) * x}где можно почитать про данный прием для взятия производной ?

взятие mod
Здравствуйте, так ли правильно или как-то по другому?!: a^23 mod k = (b *c) ^23 mod k = (b^23 mod k * c^23 mod k) mod k где a = b...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru