Demander à l'utilisateur d'entrer les informations relatives à la paie de l'entreprise. Mettre en place une boucle qui continue à demander des informations jusqu'à ce qu'ils entrent "DONE". Pour chaque employé poser trois questions:Programme de calcul d'erreur Python
nom (première & dernière) heures travaillées cette semaine (seulement permettre 1 à 60) salaire horaire (seulement permettre à 6,00 par 20,00) VALIDER les heures travaillées et le salaire horaire, et assurez-vous qu'un nom est entré.
Calculez le salaire de chaque employé et écrivez-le dans un fichier séquentiel. Veillez à inclure la logique de gestion des erreurs d'E/S de fichier.
Inclure seulement le salaire hebdomadaire Le salaire hebdomadaire est calculé: Pour (1-40 heures), il est le taux horaire * heures travaillées Pour (41-60 heures), il est (heures travaillées - 40) * (taux horaire * 1.5) + taux horaire * 40
Après avoir entré tous les employés, lisez le fichier séquentiel dans une liste nommée PAY pour le salaire hebdomadaire de chaque employé. Triez la liste. Maintenant, imprimez le salaire hebdomadaire le plus bas, le plus élevé et le salaire hebdomadaire moyen.
J'ai problème évident avec ce code
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
L'indentation de ceci semble totalement faux. Cela peut être un problème de cut'n'paste - si c'est le cas, vous devez éditer afin qu'il ressemble à la façon dont vous l'avez vraiment écrit. Sinon, Python ne fera pas ce que vous pensez qu'il va, –
Je suppose que vous devez d'abord corriger l'indentation. L'indentation actuelle suggère que "ePass = raw_input .." est out of while. – pyfunc
Est-ce que ce sont les devoirs? Ce type d'interface utilisateur était courant en 1980, mais n'est pas acceptable aujourd'hui pour une application déployée. –