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

文本进度条实例

#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))

猜你喜欢

转载自blog.csdn.net/qq_42045868/article/details/89737233