编写一个统计平均睡眠时间的程序,用12小时计数表述
时间: 2024-03-24 11:42:01 浏览: 160
以下是一个用12小时计数表述统计平均睡眠时间的 Python 程序示例:
```python
# 定义一个列表,保存每天的睡眠时间
sleep_time = []
# 循环输入每天的睡眠时间,输入负数时退出循环
while True:
time_str = input("请输入每天的睡眠时间(格式为hh:mm am/pm),输入负数结束:")
if time_str.lower() == "exit" or time_str.lower() == "quit" or time_str.lower() == "q":
break
time_parts = time_str.split(" ")
if len(time_parts) == 2:
hour_min_parts = time_parts[0].split(":")
if len(hour_min_parts) == 2:
hour = int(hour_min_parts[0])
minute = int(hour_min_parts[1])
if time_parts[1].lower() == "pm" and hour < 12:
hour += 12
elif time_parts[1].lower() == "am" and hour == 12:
hour = 0
sleep_time.append(hour * 60 + minute)
# 计算平均睡眠时间
if len(sleep_time) > 0:
avg_sleep_time = sum(sleep_time) / len(sleep_time)
hour = int(avg_sleep_time / 60)
minute = int(avg_sleep_time % 60)
am_pm = "am"
if hour >= 12:
am_pm = "pm"
if hour > 12:
hour -= 12
print("您的平均睡眠时间为:%d:%02d %s" % (hour, minute, am_pm))
else:
print("没有输入睡眠时间")
```
程序与前面的示例相似,但是将输入和输出的格式改为了12小时计数表述。程序首先使用一个 `while` 循环,不断输入每天的睡眠时间,输入负数或者输入 `exit`、`quit` 或 `q` 时退出循环。输入的时间格式为 `hh:mm am/pm`,其中 `hh` 表示小时,`mm` 表示分钟,`am/pm` 表示上午或下午。
程序将输入的时间字符串进行解析,并将每天的睡眠时间(以分钟为单位)添加到列表中。最后根据列表中的数据计算平均睡眠时间,并将其转换为12小时计数表述输出。
需要注意的是,程序中使用了字符串的 `split` 方法对输入的时间字符串进行分割,并使用条件语句和算术运算将其转换为分钟数。在输出时,使用了字符串格式化输出,并将小时数转换为12小时制。
阅读全文