文本进度条实例、身体质量指数BIM实例、 蒙特卡洛法计算圆周率实例

这篇博客介绍了三个Python编程实例:如何创建文本进度条,计算身体质量指数(BMI)以及使用蒙特卡洛方法估算圆周率,通过这些实例深入理解Python编程技巧。

文本进度条实例

#TextProBarV1.py
import time
scale=10
print('------执行开始------')
for i in range(scale+1):
    a='*'*i
    b='.'*(scale-i)
    c=(i/scale)*100
    print('{:^3.0f}%[{}->{}]'.format(c,a,b))
    time.sleep(0.1)
print('------执行结束------')
#TextProBarV2.py
import time
for i in range(101):
    print('\r{:3}%'.format(i),end='')   #\r默认表示将输出的内容返回到第一个指针,这样的话,后面的内容会覆盖前面的内容
    time.sleep(0.1)
#TextProBarV3.py
import time
scale = 50
print("执行开始".center(scale//2, "-"))
start = time.perf_counter()
for i in range(scale+1):
    a = '*' * i
    b = '.' * (scale - i)
    c = (i/scale)*100
    dur = time.perf_counter() - start
    print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end='')
    time.sleep(0.1)
print("\n"+"执行结束".center(scale//2,'-'))

身体质量指数BIM实例

#CalBMIV3.py
height,weight=eval(input('请输入身高(米)体重(kg)[逗号隔开]:'))
bmi=weight/pow(height,2)
print('BMI数值为:{:.2f}'.format(bmi))
who,nat='',''          #变量用前先赋初值,相当于定义变量
if bmi<18.5:
    who,nat='偏瘦','偏瘦'
elif 18.5<=bmi<24:
    who,nat='正常','正常'
elif 24<=bmi<25:
    who,nat='正常','偏胖'
elif 25<=bmi<28:
    who,nat='偏胖','偏胖'
elif 28<=bim<30:
    who,nat='偏胖','肥胖'
else:
    who,nat='肥胖','肥胖'
print('BIM指标为:国际"{}",国内"{}"'.format(who,nat))

蒙特卡洛法计算圆周率实例

#CalPiV2.py
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))
print('运行时间是:{:.5f}s'.format(perf_counter()-start))
#CalPiV1.py
pi=0
N=100
for k in range(N):
    pi+=1/pow(16,k)*(\
            4/(8*k+1)-2/(8*k+4)-\
            1/(8*k+5)-1/(8*k+6))      #\转行连续
print('圆周率是:{}'.format(pi))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值