题目描述:
公司用一个字符串来标识员工的出勤信息。
absent: 缺勤
late: 迟到
leaveearly:早退
present: 正常上班
现需根据员工出勤信息,判断本次是否能获得出勤奖。
能获得出勤奖的条件如下:
缺勤不超过1次
没有连续的迟到/早退
任意连续7次考勤 缺勤/迟到/早退 不超过3次
输入描述:
用户的考勤数据字符串记录条数 >=1,输入字符串长度 <10000,不存在非法输入。
输出描述:
根据考勤数据字符串,如果能得到考勤奖输出true否则输出false。
示例
输入:
2
present
present present
输出:true true
输入:
2
present
present absent present present leaveearly present absent
输出:true false
#解题想法:条件1判断通过str.count()统计出现次数,条件2通过
("late late" in s) or ("leaveearly leaveearly" in s)来判断是否连续存在迟到/早退
条件3,通过i:i+7的片段来统计缺勤/迟到/早退的次数超过三次不
while 1:
try:
# s=input()
flag=True
s="present absent present present leaveearly present absent"
l=s.split(" ")
if l.count("absent")>1:
flag=False
print("false1")
if ("late late" in s) or ("leaveearly leaveearly" in s):
flag = False
print("false2")
if len(l)<=7:
sum=0
for i in ["absent","late","leaveearly"]:
sum+=l.count(i)
if sum>=3:
flag = False
print("false3")
else:
i=0
while i+6<len(l):
sum = 0
for j in ["absent", "late", "leaveearly"]:
sum += l[i:i+7].count(j)
if sum >= 3:
flag = False
print("false4")
break
i+=1
print(flag)
break
except Exception as e:
print(e)
break