Попросите пользователя ввести информацию о заработной плате для компании. Настройте цикл, который продолжает запрашивать информацию, пока они не введут «ВЫПОЛНЕНО». Для каждого сотрудника задайте три вопроса:
имя (имя и фамилия)
часы отработали на этой неделе (только с 1 по 60)
почасовая оплата (разрешено только с 6.00 до 20.00)
ПРОВЕРЬТЕ отработанные часы и почасовую оплату, и убедитесь, что введено имя.
Рассчитайте зарплату каждого сотрудника и запишите ее в последовательный файл. Обязательно включите логику обработки ошибок ввода-вывода файла.
Включая только еженедельную оплату
Еженедельная оплата рассчитывается:
Для (1-40 часов) это почасовая ставка * отработанные часы
Для (41-60 часов) это (отработанных часов - 40) * (почасовая ставка * 1,5)
+ почасовая ставка * 40
После того, как все сотрудники введены, прочитайте в последовательном файле список с именем PAY для еженедельной оплаты каждого сотрудника. Сортировать список. Теперь напечатайте самую низкую, самую высокую и среднюю недельную зарплату за неделю.
У меня очевидная проблема с этим кодом
while len(eName)>0:
eName=raw_input("\nPlease enter the employees' first and last name. ")
hWork=raw_input("How many hours did they work this week? ")
hoursWork=int(hWork)
if hoursWork < 1 or hoursWork > 60:
print "Employees' can't work less than 1 hour or more than 60 hours!"
else:
pRate=raw_input("What is their hourly rate? ")
payRate=int(pRate)
if payRate < 6 or payRate > 20:
print "Employees' wages can't be lower than $6.00 or greater than $20.00!"
if hoursWork <=40:
grossPay=hoursWork*payRate
else:
grossPay=((hoursWork-40)*(payRate*1.5))+(40*payRate)
lsthours.append(grossPay)
print grossPay
print lsthours
ePass=raw_input("Type DONE when finished with employees' information. ")
ePass.upper() == "DONE"
if ePass == "DONE":
break
else:
continue