"""功能: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计算器,日历计算,存钱挑战,分形树和五角星绘制等相关推荐

  1. Python实现电阻计算器——快速计算电阻值

    Python实现电阻计算器--快速计算电阻值 在电子工程领域,电阻器是一种常用的电路元件,而对于电阻值的计算也是非常重要的.本文将介绍如何使用Python编写一个简单的电阻计算器,以帮助电子工程爱好者 ...

  2. python 编写生肖计算器(计算属相和推算年龄)

    代码如下: import time sx = ["

  3. python平均成绩计算异常处理_【Python 20】BMR计算器4.0(异常处理)

    1.案例描述 基础代谢率(BMR):我们安静状态下(通常为静卧状态)消耗的最低热量,人的其他活动都建立在这个基础上. 计算公式: BMR(男) = (13.7*体重kg)+(5.0*身高cm)-(6. ...

  4. python 基础代谢率计算_【Python 20】BMR计算器4.0(异常处理)

    1.案例描述 基础代谢率(BMR):我们安静状态下(通常为静卧状态)消耗的最低热量,人的其他活动都建立在这个基础上. 计算公式: BMR(男) = (13.7*体重kg)+(5.0*身高cm)-(6. ...

  5. python学习(BMR计算器)

    python学习(小象学院) 标题BMR计算器核心 10月17日 源码: """开发:sirosilk版本:3.0功能:基础代谢率计算日期:2019/10/173.0 增 ...

  6. python学习笔记(BMR计算器)

    每天30min学习python-RBM计算器 目录 BMR计算器1.0 BMR计算器2.0+3.0 BMR计算器4.0 1.0 实现功能 计算基础代谢率 知识点:计算公式 BMR(男) = (13.7 ...

  7. 【每天学点Python】案例三:BMR计算器

    BMR计算器 V1.0 案例描述: 基础代谢率(Basal Metabolic Rate,简称BMR)是指:我们在安静状态下(通常为静卧状态)消耗的最低热量,人的其他活动都建立在这个基础上 计算公式: ...

  8. 【Python 20】BMR计算器4.0(异常处理)

    1.案例描述 基础代谢率(BMR):我们安静状态下(通常为静卧状态)消耗的最低热量,人的其他活动都建立在这个基础上. 计算公式: BMR(男) = (13.7*体重kg)+(5.0*身高cm)-(6. ...

  9. python整数加法计算器_Python应用实例赏析2.1简单计算

    在日常应用中,我们会经常使用计算器进行计算,有些时候普通计算器的功能不能满足需要,例如使用计算机系统自带的计算器,计算不能超过32位数,手机自带计算器不能超过15位等(我的电脑和手机),也可能计算需要 ...

最新文章

  1. Python显示图像
  2. 终于把论文Check完了
  3. 新手焊接电路板_【实验】新手焊接电路板的不完全指南
  4. 032_Notification通知
  5. 问题:python3关于json文件多余一行后发生的错误
  6. 使用date命令来修改系统日期与时间
  7. Hibernate的事件机制
  8. centos linux下vnc server远程桌面配置详解,CentOS 6.0 VNC远程桌面配置
  9. tapestry mail freemarker的使用
  10. 【数据结构笔记05】堆栈及其顺序存储、链式存储
  11. 大数据从入门到实战——MongoDB实验——数据库基本操作
  12. matlab求3db函数,数字信号处理第二章习题26、30、32解答(包括matlab运行程序)
  13. 如何给网页设置logo
  14. adb命令模拟按键事件 KeyCode
  15. 数字化闯入“深水区”,超级营销平台是突破口吗?
  16. 初中级前端面试题目汇总和答案解析
  17. 一台电脑怎么登录多个微信?~~方法超简单
  18. socket技术详解(看清socket编程)
  19. 制作U盘启动盘重装macOS High Sierra
  20. ios 表情符号 键盘_iOS输入框过滤表情,处理自带键盘无法输入

热门文章

  1. C#监视USB设备插拔动作
  2. 朴素贝叶斯(Naive Bayes)详解
  3. 计算机实战项目之 论文+辩论PPT+源码等]精品微信小程序ssm校友录网站+后台管理系统|前后分离VUE
  4. 白银时代房地产如何赚钱?——旅游地产怎样玩?
  5. 硬盘低级格式化全攻略
  6. 如何使用手机APP进行库房的库存管理
  7. 《引爆用户增长》学习笔记
  8. BlackBerry PlayBook NDK 官方样例介绍。
  9. ps无法在此计算机上,PS打不开。提示本次操作由于这台计算机的限制而被取消。请与您的系统管理员联系...
  10. SSLOJ1786 麻将游戏