BMI=体重(KG)除以(身高(M)的平方)
try: #添加异常处理
height,weight,oi=eval(input("(请输入身高米,体重kg,(0为国际版本,1为国内版本)):"))
bmi=weight/pow(height,2)
print("BMI数值为:{:.2f}".format(bmi))
#定义国际标准
def world(number):
who=""
if number<18.5:
who="偏瘦"
elif 18.5<=number<25:
who="正常"
elif 25<=number<30:
who="偏胖"
else:
who="偏胖"
print("BMI国际指标:{}".format(who))
def nation(number):
nat=""
if number<18.5:
nat="偏瘦"
elif 18.5<=number<24:
nat="正常"
elif 24<=number<28:
nat="偏胖"
else:
nat="偏胖"
print("BMI国内指标:{}".format(nat))
if oi==0:#如果oi为0表示选择国际版本,为1则是国内版本
world(bmi)
else:
nation(bmi)
except :
print("请输入(身高,体重,国际或国内标准[输入0或者1]")
圆周率大家都很熟悉了,那么根据一些方法来计算圆周率
第一种解法就是利用圆周率的近似计算公式来求解
pi=0
N=100 #这里N可以进行输入调整N=eval(input()),
for k in range(N):
pi=pi+1/pow(16,k)*(4/(8*k+1)-2/(8*k+4)-1/(8*k+5)-1/(8*k+6))
print("圆周率的值是:{}".format(pi))
第二种是利用蒙特卡洛方法,具体什么是蒙特卡洛可以问问度娘,这里不再展开
from random import random
from time import perf_counter
DARTS=1000*1000
hits=0.0
start=perf_counter()
for i in range(1,DARTS+1):
x,y=random(),random()
dist=pow(x**2+y**2,0.5)
if dist<=1.0:
hits=hits+1
pi=4*(hits/DARTS)
print("圆周率是:{}".format(pi))
基本思路:使用turtle库来进行描绘
1:绘制单个数字对应的数码管
2:获得一串数字,绘制对应的数码管
3:获得当前系统时间,绘制对应的数码管
import turtle
import time
def drawLine(draw):#绘制单段数码管
turtle.pendown() if draw else turtle.penup()
turtle.fd(40)
turtle.right(90)
def drawDigit(digit):#根据数字绘制七段数码管
drawLine(True) if digit in [2,3,4,5,6,8,9] else drawLine(False)
drawLine(True) if digit in [0,1,3,4,5,6,7,8,9] else drawLine(False)
drawLine(True) if digit in [0,2,3,5,6,8,9] else drawLine(False)
drawLine(True) if digit in [0,2,6,8] else drawLine(False)
turtle.left(90)
drawLine(True) if digit in [0,4,5,6,8,9] else drawLine(False)
drawLine(True) if digit in [0,2,3,5,6,7,8,9] else drawLine(False)
drawLine(True) if digit in [0,1,2,3,4,7,8,9] else drawLine(False)
turtle.left(180)
turtle.penup()
turtle.fd(20)
def drawDate(date):
for i in date:
drawDigit(eval(i))
def main():
turtle.setup(800,350,200,200)
turtle.penup()
turtle.fd(-300)
turtle.pensize(5)
t=time.gmtime()
now=time.strftime("%Y%m%d",t) #获取当前时间进行绘制
drawDate(now)
turtle.hideturtle()
turtle.done()
main()
Python中time库的使用_AIM—洋的博客-CSDN博客
递归的标准解法步骤:
1:函数+分支结构
2:递归链条
3:递归基例
count=0
def hannuo(n,src,dst,mid):
global count
if n==1:
print("方块{}:{}移动到{}".format(1,src,dst))
count+=1
else:
hannuo(n-1,src,mid,dst)
print("方块{}:{}移动到{}".format(n,src,dst))
count=count+1
hannuo(n-1,mid,dst,src)
hannuo(3,"A","C","B")
print(count)
number=eval(input())
def f(n):
if n==1 or n==2:
return 1
else:
return f(n-1)+f(n-2)
f(number)