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

Программа начисления зарплаты

26.05.2021, 16:54. Показов 2170. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Решил для себя освоить язык Python, и первым делом поставил задачу написать программу по расчету зарплаты для продавцов. Основная идея такая:
- есть n количество продавцов
- зарплата рассчитывается согласно, рейтинга.
Сейчас бухгалтер считает это все в ручную есть желание ей помочь да и задача интересная для обучения.
Приведу пример расчета:
Зарплата рассчитывается в диапазоне от 5 до 7% от личных продаж продавца. Процент берется исходя из рейтинга продавцов за месяц.
Аня работала 22 дня наторговала 10 000 (10 000/22=454.5 в день)
Лена работала 20 дней наторговала 9500 (9500/20=475 в день)
Катя работала 10 дней наторговала 8000 (8000/10=800 в день)
Алина работала 15 дней наторговала 10 500 (10 500/15=700 в день)
Получаем рейтинг:
1-е место Катя, 2-е Алина, 3-е Лена, 4-е Аня.
Соответственно проценты будут
Поскольку у нас 4 продавца работало в этом месяце, процент будет следующий
1-е место Катя 7% от 8000.
Остальные получат (7%-5%) / 3 (оставшиеся продавцы) = 0.67
2 место Алина 7%-0.67%=6.33% от 10 500
3 место Лена 6.33%-0.67%=5.66% от 9500
4 место Аня 5% от 10 000
Собственно вопрос, какие темы почитать и разобрать для реализации этой задачи?
Планирую чтоб бухгалтер вносил имена, суммы и количество отработанных дней, а программа выдавала Имена, место или процент, зарплату. (Как-то тяжеловато представляю алгоритм, но буду разбираться). Заранее всем Спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.05.2021, 16:54
Ответы с готовыми решениями:

Программа расчета недельной зарплаты
Здравствуйте, есть консольная программа расчета недельной зарплаты, а преподавателю нужно что бы она была с интерфейсом. Сохранением,...

Подсчитать начисления зарплаты
Подсчитать начисления зарплаты с помощью ВПР, сделано через если, нужно через впр

Определить абстрактную функцию начисления зарплаты
Господа, не могу решить данную задачу. Создать абстрактный базовый класс - работник и производные классы - служащий с почасовой оплатой,...

8
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
26.05.2021, 16:57
Цитата Сообщение от doorsman Посмотреть сообщение
какие темы почитать и разобрать для реализации этой задачи?
основы питона, все. Марк Лутц 1 том от корки до корки. Этого хватит. Если второй томоилите, то сваяете еще и интерфейс на веб страничке или дексктоп.
1
0 / 0 / 0
Регистрация: 26.05.2021
Сообщений: 5
26.05.2021, 17:18  [ТС]
Спасибо так и делаю уже)
Подскажите правильно ли я понял что все что я писал лучше через списки делать?
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
26.05.2021, 17:20
doorsman, в том числе может и через списки, можно кортежи (сотрудники то одни и те же).
0
0 / 0 / 0
Регистрация: 26.05.2021
Сообщений: 5
26.05.2021, 17:31  [ТС]
да но в сезон работает 10 человек, а в межсезонье 5-6. (Думаю может файл создать с сотрудниками или это плохая идея?)
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
26.05.2021, 17:48
doorsman,
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
n = 4
tabel = [['Аня', 22, 10000],
 ['Лена', 20, 9500],
  ['Катя', 10, 8000],
   ['Алина', 15, 10500]]
 
#####################
tabel.sort(key = lambda x: -x[2]/x[1])
print(f'{tabel[0][0]} -> {int(tabel[0][2]*0.07)}')
for i in range(1, n):
    if table[i][2]:
        print(f'{tabel[i][0]} -> {int(tabel[i][2]*(0.07 - 0.02/(n-1)*i))}')
#####################
Базу сотрудников можно хранить (скачивать и обрабатывать) в txt файле
1
0 / 0 / 0
Регистрация: 26.05.2021
Сообщений: 5
26.05.2021, 18:21  [ТС]
Спасибо. Пока не очень соображаю как разделить сотрудников по местам и сопоставить их с процентом(
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
26.05.2021, 18:51
doorsman,
8-я строчка распределяет по местам
12-я распределяет %% согласно местам
1
0 / 0 / 0
Регистрация: 26.05.2021
Сообщений: 5
26.05.2021, 19:10  [ТС]
Вот это да! До такой конструкции я еще не дочитал))) Спасибо буду построчно разбирать и вникать!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.05.2021, 19:10
Помогаю со студенческими работами здесь

Подскажите, есть ли описание пошагового алгоритма начисления зарплаты?
Добрый вечер! Подскажите, есть ли описание пошагового алгоритма начисления зарплаты или основных этапов этапов работы в 1С 8.2 ЗиКБУ....

Создать абстрактный базовый класс Worker с виртуальной функцией начисления зарплаты
Создать абстрактный базовый класс Worker с виртуальной функцией начисления зарплаты. Создать производные классы StateWorker, HourlyWorker и...

Вывести на экран ведомость для начисления зарплаты рабочим этого цеха
Помогите пожалуйста, а то что-то не получается:( Создать файл, содержащий сведения о месячной зарплате рабочих завода. Каждая запись...

Составить программу, которая выдает список работников и ведомости начисления зарплаты
Створити файл, який містить відомості про місячну зарплату робітників заводу. Кожний запис містить такі поля: прізвище робітника, назва...

Написать программу начисления недельной зарплаты сотрудникам работающим за почасовую плату
Написать программу начисления недельной зарплаты сотрудникам работающим за почасовую плату. Норма часов работы в неделю составляет 40...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru