编写一个统计平均睡眠时间的程序
时间: 2024-03-24 10:41:59 浏览: 18
以下是一个统计平均睡眠时间的 Python 程序示例:
```python
# 定义一个列表,保存每天的睡眠时间
sleep_time = []
# 循环输入每天的睡眠时间,输入负数时退出循环
while True:
time = float(input("请输入每天的睡眠时间(单位:小时),输入负数结束:"))
if time < 0:
break
sleep_time.append(time)
# 计算平均睡眠时间
if len(sleep_time) > 0:
avg_sleep_time = sum(sleep_time) / len(sleep_time)
print("您的平均睡眠时间为:%.2f 小时" % avg_sleep_time)
else:
print("没有输入睡眠时间")
```
程序首先定义一个列表 `sleep_time`,用于保存每天的睡眠时间。然后使用一个 `while` 循环,不断输入每天的睡眠时间,输入负数时退出循环。将每次输入的睡眠时间添加到列表中。最后根据列表中的数据计算平均睡眠时间,并输出结果。
需要注意的是,程序中使用了 `float` 函数将输入的字符串转换为浮点数,以便进行数值计算。同时,使用了字符串格式化输出,以保留小数点后两位。
相关问题
编写一个统计平均睡眠时间的程序,用12小时计数表述
以下是一个用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小时制。
c++编写一个单词统计程序
好的,下面是一个简单的 C++ 单词统计程序:
```c++
#include <iostream>
#include <string>
#include <map>
#include <sstream>
using namespace std;
int main() {
// 初始化计数器
map<string, int> wordCount;
// 读入输入文本
stringstream ss;
string line;
while (getline(cin, line)) {
ss << line << " ";
}
// 分割单词并统计
string word;
while (ss >> word) {
++wordCount[word];
}
// 输出结果
for (const auto& pair : wordCount) {
cout << pair.first << ": " << pair.second << endl;
}
return 0;
}
```
该程序首先读入一段文本,然后将其分割成单词,并统计每个单词出现的次数,最后输出结果。其中使用了 `map` 来记录每个单词的计数器。