python实现BMR计算器,日历计算,存钱挑战,分形树和五角星绘制等
"""功能:BMR计算器版本:4.0"""def main():"""主函数"""y_or_n = input("是否退出程序(y/n)?")while y_or_n != "y":print("请输入以下信息,用空格分割")input_str = input("性别 体重(kg) 身高(cm) 年龄: ")# 使用split函数之后,字符串转换为list列表类型,此时需要进行赋值给一个新的变量str_list = input_str.split()try:gender = str_list[0]weight = float(str_list[1])height = float(str_list[2])age = int(str_list[3])if gender == '男':bmr = (13.7 * weight) + (5.0 * height) - (6.8 * age) + 66elif gender == '女':bmr = (9.6 * weight) + (1.8 * height) - (4.7 * age) + 655else:bmr = -1if bmr != -1:# 分模块输出formatprint("性别:{},体重:{},身高:{},年龄:{}".format(gender,weight,height,age))# 不要忘记{}这个符号,否则不输出数据print("基础代谢率(大卡:){}".format(bmr))# print("基础代谢率(大卡:)", gender, bmr)# 注意输出的顺序问题print("{2},{0},{1}".format(1,2,3,4))else:print("不支持的类型!")# 注意try语句后面执行的语句是被包含的关系,except语句是不同于包含语句的缩进格式except ValueError:print("格式输入错误!")except IndexError:print("格式输入错误!")except:print("不支持的格式输入!")# 为什么要在循环内? 方便调用循环while 如果没有输入的语句,就会死循环print() # 输出空行y_or_n = input("是否退出程序?(y/n)")if __name__ == '__main__':main()
日历功能:输入某年某月末日,判断这一天是一年的第几天
还有一些知识点
"""
tuple 元组 不可以修改、删除、添加元素,数据更加安全
其余和list列表特性相同
他们都可以包含不同的数据类型,通常用元组表示不同数据类型,列表通常由相同类型数据组成
元组表示的是结构,列表表示的是顺序tuple = ('a','b','c','d') (1,2,3,4)
list =['a','b','c'] [1,2,3,4]版本4.0
功能:输入某年某月末日,判断这一天是一年的第几天介绍集合
s = {1,2,3,4} 大括号表示
特性:集合set中的元素都是唯一的,不能重复,不同于元组tuple和列表list
s-t 或者 s.different(t) # 返回在集合s中的但是不在t中的元素
s&t 或者 s.intersection(t) # 返回同时在集合s和集合t中的元素
s|t 或者 s.union(t) # 返回集合s和t中的所有元素(自动滤除重复的元素)
s^t 或者 s.symmetric_different(t) # 返回集合s和集合t中的元素,但是不包含两个集合同时包含的元素介绍字典类型dict
字典是“键——值”数据项的组合 key——value 每个元素是一个键值对
如:身份证号(键)——个人信息(值)(键是唯一的)
字典类型数据是通过 “映射” 来查找值的信息d[key] = value
访问:d[key]
删除:del d[key]
key是否在字典中: key in d遍历:for key in dict.keys() #遍历所有的key
for value in dict.values() #遍历所有的value
for item in dict.items() #遍历所有的key:value
"""
# 如果导入的是datetime 后面的调用中需要写datetime.datatime
import datetime
def function(year,month,day):date = datetime.date(year,month,day)return date.strftime('%j') #%j十进制表示的每年的第几天# 使用内置函数(strftime是一种计算机函数,根据区域设置格式化本地时间/日期,函数的功能将时间格式化,或者说格式化一个时间字符串。
print(function(2100,12,31)) # 366
存钱挑战和一些知识点
"""版本:5.0list 列表操作list.append(xx) # 添加list列表元素xxlist.sort() # 对列表元素排序list.reverse() # 将列表元素逆序list.index(x) # 返回第一次出现元素x的索引值list.insert(i,x) # 在位置i处插入新元素xlist.count(x) # 返回元素x在列表中的数量list.remove(x) # 删除列表中第一次出现的元素xlist.pop(i) # 取出列表中i位置上的元素,并将其删除math库math.pi # 圆周率math.ceil(x) # 对x向上取整 即大于x的最小整数math.floor(x) # 对x向下取整 即小于x的最大整数math.pow(x,y) # x的y次方math.sqrt(x) # x的平方根math.fsum(list) # 对集合内的元素求和for 循环for i in list:语句for i in range(x): # i循环x次数语句
"""
import math# datatime.datatime.now() 获取当前时间【2019/07/20】 是时间类型
# datatime.datatime.isocalendar() 解析时间字符串
import datetime# 申明全局变量
save_mongey = 0def save_money_in_weeks(money_per_week, increase_money, total_week):# 为了调用全局变量,需要global进行声明global save_moneyglobal save_money_listmoney_list = [] # 记录每周存钱数的列表save_money_list = [] # 记录每周账户累计for i in range(total_week): #a需要更新i的值# save_money += money_per_weekmoney_list.append(money_per_week)save_money = math.fsum(money_list)save_money_list.append(save_money)print("第{}周存入{}元,总计{}元".format(i+1, money_per_week, save_money))# 更新下周存钱金额money_per_week += increase_money# 传递参数至调用的函数return save_money_listdef main():money_per_week = float(input("请输入每周存入的的金额:")) # 每周存入金额increase_money = float(input("请输入每周递增的的金额:")) # 递增的金额total_week = int(input("请输入总共周数:")) # 总共52周save_money_in_weeks(money_per_week, increase_money, total_week)input_data_str = input("请输入日期(yyyy/mm/dd):")# datetime.datetime.strptime 是datatime的将字符串转换为时间类型,进行读取年月日的函数 %Y代表2019这样的四位数年份,%y代表19这样的两位数年份,%m代表月份,%d代表天数# datetime.datetime.strftime 将时间类型转换成字符串,并格式化输出input_data = datetime.datetime.strptime(input_data_str,"%Y/%m/%d")week_num = input_data.isocalendar()[1] # 读取时间数组中的周数 input_data的数组输出形式是[yyyy,mm,dd]数组中的周数是第2个元素,写作[1]print(save_money_list[week_num-1])print("接收调用的函数中传递的全局变量",save_money)if __name__ == '__main__':main()
分形树和五角星绘制等
'''版本3.0迭代循环五角星的绘制
'''import turtledef draw_recursive_pentagram(size):"""迭代绘制"""count = 1while count <= 5:turtle.forward(size)turtle.right(144)count += 1### 更新参数size += 50if size <= 500:# 这句需要跳出循环体才行draw_recursive_pentagram(size)turtle.exitonclick()def m():turtle.penup()turtle.backward(150)turtle.pendown()turtle.pensize(5)turtle.pencolor('red')draw_recursive_pentagram(50)m()
'''版本4.0分形树的绘制
'''import turtledef draw_branch(branch_length):if branch_length >= 5:turtle.forward(branch_length)turtle.right(20)draw_branch(branch_length-15)turtle.left(40)draw_branch(branch_length-15)turtle.right(20)turtle.backward(branch_length)def m():# 图形转换角度向上turtle.left(90)# 笔抬起来turtle.penup()# 往下移动300个单位turtle.backward(300)# 笔放下来turtle.down()# 线条颜色turtle.pencolor('red')# 开始调用函数draw_branch(130)# 绘制结束turtle.exitonclick()m()
'''版本5.0自己画图
'''import turtledef draw_branch(branch_length):turtle.forward(branch_length)turtle.right(90)turtle.forward(branch_length)turtle.right(90)turtle.forward(branch_length)turtle.right(90)turtle.forward(branch_length)turtle.right(90)def draw_angle(angle):turtle.penup()turtle.forward(30)turtle.down()turtle.left(angle)# 循环断点
i = int(input(":"))
def cycle():global ii -= 50if i > 0:# 开始调用函数draw_branch(i)draw_angle(30)cycle()def m():# 笔抬起来turtle.penup()turtle.left(180)# 往hou移动300个单位turtle.backward(300)# 笔放下来turtle.down()# 线条颜色turtle.pencolor('red')cycle()# 绘制结束turtle.exitonclick()m()
python实现BMR计算器,日历计算,存钱挑战,分形树和五角星绘制等相关推荐
- Python实现电阻计算器——快速计算电阻值
Python实现电阻计算器--快速计算电阻值 在电子工程领域,电阻器是一种常用的电路元件,而对于电阻值的计算也是非常重要的.本文将介绍如何使用Python编写一个简单的电阻计算器,以帮助电子工程爱好者 ...
- python 编写生肖计算器(计算属相和推算年龄)
代码如下: import time sx = ["
- python平均成绩计算异常处理_【Python 20】BMR计算器4.0(异常处理)
1.案例描述 基础代谢率(BMR):我们安静状态下(通常为静卧状态)消耗的最低热量,人的其他活动都建立在这个基础上. 计算公式: BMR(男) = (13.7*体重kg)+(5.0*身高cm)-(6. ...
- python 基础代谢率计算_【Python 20】BMR计算器4.0(异常处理)
1.案例描述 基础代谢率(BMR):我们安静状态下(通常为静卧状态)消耗的最低热量,人的其他活动都建立在这个基础上. 计算公式: BMR(男) = (13.7*体重kg)+(5.0*身高cm)-(6. ...
- python学习(BMR计算器)
python学习(小象学院) 标题BMR计算器核心 10月17日 源码: """开发:sirosilk版本:3.0功能:基础代谢率计算日期:2019/10/173.0 增 ...
- python学习笔记(BMR计算器)
每天30min学习python-RBM计算器 目录 BMR计算器1.0 BMR计算器2.0+3.0 BMR计算器4.0 1.0 实现功能 计算基础代谢率 知识点:计算公式 BMR(男) = (13.7 ...
- 【每天学点Python】案例三:BMR计算器
BMR计算器 V1.0 案例描述: 基础代谢率(Basal Metabolic Rate,简称BMR)是指:我们在安静状态下(通常为静卧状态)消耗的最低热量,人的其他活动都建立在这个基础上 计算公式: ...
- 【Python 20】BMR计算器4.0(异常处理)
1.案例描述 基础代谢率(BMR):我们安静状态下(通常为静卧状态)消耗的最低热量,人的其他活动都建立在这个基础上. 计算公式: BMR(男) = (13.7*体重kg)+(5.0*身高cm)-(6. ...
- python整数加法计算器_Python应用实例赏析2.1简单计算
在日常应用中,我们会经常使用计算器进行计算,有些时候普通计算器的功能不能满足需要,例如使用计算机系统自带的计算器,计算不能超过32位数,手机自带计算器不能超过15位等(我的电脑和手机),也可能计算需要 ...
最新文章
- Python显示图像
- 终于把论文Check完了
- 新手焊接电路板_【实验】新手焊接电路板的不完全指南
- 032_Notification通知
- 问题:python3关于json文件多余一行后发生的错误
- 使用date命令来修改系统日期与时间
- Hibernate的事件机制
- centos linux下vnc server远程桌面配置详解,CentOS 6.0 VNC远程桌面配置
- tapestry mail freemarker的使用
- 【数据结构笔记05】堆栈及其顺序存储、链式存储
- 大数据从入门到实战——MongoDB实验——数据库基本操作
- matlab求3db函数,数字信号处理第二章习题26、30、32解答(包括matlab运行程序)
- 如何给网页设置logo
- adb命令模拟按键事件 KeyCode
- 数字化闯入“深水区”,超级营销平台是突破口吗?
- 初中级前端面试题目汇总和答案解析
- 一台电脑怎么登录多个微信?~~方法超简单
- socket技术详解(看清socket编程)
- 制作U盘启动盘重装macOS High Sierra
- ios 表情符号 键盘_iOS输入框过滤表情,处理自带键盘无法输入
热门文章
- C#监视USB设备插拔动作
- 朴素贝叶斯(Naive Bayes)详解
- 计算机实战项目之 论文+辩论PPT+源码等]精品微信小程序ssm校友录网站+后台管理系统|前后分离VUE
- 白银时代房地产如何赚钱?——旅游地产怎样玩?
- 硬盘低级格式化全攻略
- 如何使用手机APP进行库房的库存管理
- 《引爆用户增长》学习笔记
- BlackBerry PlayBook NDK 官方样例介绍。
- ps无法在此计算机上,PS打不开。提示本次操作由于这台计算机的限制而被取消。请与您的系统管理员联系...
- SSLOJ1786 麻将游戏