python题目59:员工考勤记录
生活随笔
收集整理的這篇文章主要介紹了
python题目59:员工考勤记录
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
公司用一個字符串來標識員工的出勤信息 absent: 缺勤 late: 遲到 leaveearly:早退 present: 正常上班 現需根據員工出勤信息,判斷本次是否能獲得出勤獎, 能獲得出勤獎的條件如下:
1.缺勤不超過1次
2.沒有連續(xù)的遲到/早退
3.任意連續(xù)7次考勤 缺勤/遲到/早退 不超過3次
輸入描述: 用戶的考勤數據字符串記錄條數 >=1 輸入字符串長度 <10000 ; 不存在非法輸入 如: 2 present present absent present present leaveearly present absent
輸出描述: 根據考勤數據字符串 如果能得到考勤獎輸出true否則輸出false 對于輸出示例的結果應為 true false
示例一: 輸入: 2 present present present 輸出: true true 示例二 輸入: 2 present present absent present present leaveearly present absent 輸出: true false
n = int(input()) days = [] for i in range(n):day = input().split(" ")days.append(day)bonus = [] for day in days:# 1.缺勤不超過1次if "absent" in day:bonus.append('false')continue# 2.沒有連續(xù)的遲到/早退for i in range(0 , len(day) - 1):currentt = day[i]next = day[i + 1]if currentt == 'late' or \(currentt == 'leaveearly' and next == 'lata') \or next == 'leaveearly':bonus.append('false')breakelse:bonus.append('true')continue# 3.任意連續(xù)7次考勤 缺勤/遲到/早退 不超過3次is_present_list = [0] * len(day)for i in range(len(is_present_list)):if day[i] == 'present':is_present_list[i] = 1if len(is_present_list) < 7:if sum(is_present_list) >= 3:bonus.append('false')else:bonus.append('true')else:for i in range(len(is_present_list) - 7):subList = list[i:i+7]if sum(subList) >= 3:bonus.append('false')breakelse:bonus.append('true')for i in bonus:print(i , end=' ')總結
以上是生活随笔為你收集整理的python题目59:员工考勤记录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c++中的fork函数_fork函数的作
- 下一篇: python求解线性规划问题