运动总距离计算程序

def input_data():
    data = []
    num_days = int(input("请输入记录的天数:"))
    for i in range(num_days):
        date = input("请输入日期:")
        distance = float(input("请输入当天运动距离:"))
        data.append((date, distance))
    return data


def jszh(data):
    return sum([day[1] for day in data])


def main():
    data = input_data()
    jieguo = jszh(data)
    print(f"运动的总距离为:{jieguo}")


if __name__ == "__main__":
    main()
请输入记录的天数:3
请输入日期:1.1
请输入当天运动距离:5.0
请输入日期:1.2
请输入当天运动距离:3.5
请输入日期:1.3
请输入当天运动距离:7.2
运动的总距离为:15.7

目录

1.背景介绍

2.设计思路

3.完成细节

4.结果呈现

5.项目总结


1.背景介绍

- 在日常健身和健康管理中,人们常常需要记录自己的运动数据,如运动距离等。手动计算运动总距离既繁琐又容易出错,使用Python编程可以高效、准确地解决这个问题。

- 本程序的设计目的是帮助用户快速计算出一段时间内运动的总距离,便于用户了解自己的运动情况。

2.设计思路

- 采用函数模块化的设计思路,将程序划分为几个功能明确的函数,便于代码的编写、阅读和维护。

3.完成细节

- 创建空列表 data 来存储运动数据。

- 通过 input 获取记录天数,并转换为整数类型存储在 num_days 中。

- 使用 for 循环,根据 num_days 循环获取每天的日期和运动距离,并以元组形式添加到 data 列表中。

- 最后返回存储数据的 data 列表。

- 使用列表推导式 [day[1] for day in data] 从 data 列表(每个元素是 (date, distance) 元组)中提取运动距离。

- 再用 sum 函数对提取的运动距离进行求和,得到总运动距离并返回。

- 调用 input_data 函数获取运动数据并存储在 data 中。

- 将 data 作为参数传入 jssh 函数计算总运动距离,结果存储在 jiegou 中。

- 使用 print 函数输出总运动距离。

以下为代码总成:

def input_data():

data = []

num_days = int(input("请输入记录的天数:"))

for i in range(num_days):

date = input("请输入日期:")

distance = float(input("请输入当天运动距离:"))

data.append((date, distance))

return data

def  jszh(data):

return sum([day[1] for day in data])

def main():

data = input_data()

jieguo = jszh(data)

print(f"运动的总距离为:{jieguo}")

if __name__ == "__main__":

main()

4.结果呈现

请输入记录的天数:3
请输入日期:1.1
请输入当天运动距离:5.0
请输入日期:1.2
请输入当天运动距离:3.5
请输入日期:1.3
请输入当天运动距离:7.2
运动的总距离为:15.7

5.项目总结

- 通过这个项目,深入理解了Python函数的定义和调用机制。

- 学会了如何使用列表推导式和 sum 函数进行数据处理。

- 掌握了如何通过函数模块化设计来简化程序结构。

- 问题:在 input_data 函数中,用户输入可能不符合要求(如输入非数字字符),导致程序出错。

- 解决方案:可以添加输入验证机制,如使用 try - except 结构来捕获异常,提示用户重新输入正确的数据类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值