如果我的目标的progress
和daysLeft
百分比是已知的,我如何确定目标的总体状态(假设定义的状态是off-track
,at-risk
,on-track
和completed
)。
对于边界情况:
100%
无论什么是daysLeft%,我知道我的目标状态是completed
0%
并且进度小于100%
,我知道我的目标是off-track
我需要逻辑来考虑进度和剩余天数,以确定目标持续时间内提到的状态之一。
我想这是一个意见问题,但你可以这样做:
if progress == 100%: status = completed; return;
if progress >= 100% - daysLeft: status = on-track; return;
if daysLeft > 0: status = at-risk; return;
status = off-track;
这样,您的两个条件就会得到满足,并且当剩余的天数超过分配的工作时间时,状态将在轨道上,如果没有,则处于风险中。
(如果需要,可以将return语句更改为if-else's。)
这对你有用吗?