小明每天坚持锻炼身体,正常情况下,小明每天跑2千米,如果是周一或者月初(1日),为了激励自己,他要跑4千米;若同时是周一和月初,小明也是跑4千米。小明跑步已经坚持了很长时间。请编程实现:输入开始时间的年、月、日和结束时间的年、月、日(范围:2000年1月1日——2023年3月20日。计算跑步数,包含开始、结束这两天的数据)
时间: 2023-05-27 21:03:31 浏览: 190
假设输入的时间格式为年-月-日,可以使用 datetime 模块来计算两个日期之间的天数,并根据条件计算跑步数。
示例代码如下:
```python
import datetime
# 输入开始时间和结束时间
start_date = input("请输入开始时间(年-月-日):")
end_date = input("请输入结束时间(年-月-日):")
# 将日期字符串转换为 datetime 类型
start_datetime = datetime.datetime.strptime(start_date, "%Y-%m-%d")
end_datetime = datetime.datetime.strptime(end_date, "%Y-%m-%d")
# 计算日期差值
days = (end_datetime - start_datetime).days + 1
# 初始化跑步数
run_count = 0
# 循环遍历每一天,根据条件计算跑步数
for i in range(days):
current_date = start_datetime + datetime.timedelta(days=i)
if current_date.day == 1 or current_date.weekday() == 0:
run_count += 4
else:
run_count += 2
# 输出结果
print("跑步数为:{}千米".format(run_count))
```
示例运行截图:
```
请输入开始时间(年-月-日):2022-12-28
请输入结束时间(年-月-日):2023-01-03
跑步数为:18千米
```
阅读全文