1.4Python程序的常见结构及random库的使用

本文详细介绍了Python编程中的程序控制结构,包括单分支、二分支和多分支结构,以及条件判断和异常处理。同时,讲解了循环结构,如遍历循环、无限循环和循环控制保留字的使用。此外,还探讨了random库的基本和扩展随机数函数,并通过BMI分析和圆周率计算的实例展示了它们的应用。内容深入浅出,适合初学者学习。
摘要由CSDN通过智能技术生成

一,程序的分支结构

1,单分支结构

(根据判断条件结果而选择不同向前路径的运行方式)
实例:
在这里插入图片描述

guess = eval(input())
if guess == 99:
print("猜对了")
if True:
print("条件正确")

2,二分支结构

在这里插入图片描述

guess = eval(input())
if guess == 99:
print("猜对了")
else :
print("猜错了")
if True:
print("语句块1")
else :
print("语句块2")

紧凑形式:适用于简单表达式的二分支结构
<表达式1> if <条件> else <表达式2>
实例:

guess = eval(input())
print("猜{}了".format("对" if guess==99 else "错"))

3,多分支结构

在这里插入图片描述
实例:

score = eval(input())
if score >= 60:
grade = "D"
elif score >= 70:
grade = "C"
elif score >= 80:
grade = "B"
elif score >= 90:
grade = "A"
print("输入成绩属于级别{}".format(grade))

"程序的控制结构"介绍:
在这里插入图片描述

4,条件判断及组合

在这里插入图片描述
在这里插入图片描述

guess = eval(input())
if guess > 99 or guess < 99:
print("猜错了")
else :
print("猜对了")
if not True:
print("语句块2")
else :
print("语句块1")

5,程序的异常处理

在这里插入图片描述
异常处理的基本使用:
(1)
try :
<语句块1>
except :
<语句块2>
实例:

try:
    a=int(input('请输入整数:'))
    print(a)
except:
    print('输入错误!')

(2)标注异常类型后,仅响应此类异常
异常类型名字等同于变量名
try :
<语句块1>
except <异常类型> :
<语句块2>

try :
num = eval(input("请输入一个整数: "))
print(num**2)
except NameError:
print("输入不是整数")

在这里插入图片描述

6.扩展:

try-except-else-finally的理解

二,程序的循环结构

1.遍历循环

(遍历某个结构形成的循环运行方式)

  • 从遍历结构中逐一提取元素,放在循环变量中
    for <循环变量> in <遍历结构> :
    <语句块>
    在这里插入图片描述
    在这里插入图片描述
    实例:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

2.无限循环

(由条件控制的循环运行方式)
在这里插入图片描述
在这里插入图片描述

3.循环控制保留字

break 和 continue:

  • break跳出并结束当前整个循环(多层则是最内层循环),执行循环后的语句;
  • continue结束当次循环,继续执行后续次数循环;
  • break和continue可以与for和while循环搭配使用;
    -在这里插入图片描述
    在这里插入图片描述

4.循环的高级用法

在这里插入图片描述
循环与else:

  • 当循环没有被break语句退出时,执行else语句块
  • else语句块作为"正常"完成循环的奖励
  • 这里else的用法与异常处理中else用法相似
    在这里插入图片描述

三,random库的使用

1.random库基本介绍

(1)random库:random库是使用随机数的Python标准库

  • 伪随机数: 采用梅森旋转算法生成的(伪)随机序列中元素
  • random库主要用于生成随机数
  • 使用random库: import random
    (2)random库包括两类函数,常用共8个:
  • 基本随机数函数: seed(), random()
  • 扩展随机数函数: randint(), getrandbits(), uniform(),
    randrange(), choice(), shuffle()

2.基本随机数函数

在这里插入图片描述
在这里插入图片描述
实例:

>>> import random
>>> random.seed(10)
>>> random.random()
0.5714025946899135
>>> random.random()
0.4288890546751146
>>> import random
>>> random.seed(10)
>>> random.random()
0.5714025946899135
>>> random.seed(10)
>>> random.random()
0.5714025946899135

3.扩展随机数函数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
随机数函数的使用:

  • 能够利用随机数种子产生"确定"伪随机数
  • 能够产生随机整数
  • 能够对序列类型进行随机操作

四,实例

1.BMI分析实例:

(1)基础版:

height,weight =eval(input("请输入身高(米)和体重(公斤)[用逗号隔开]:"))
BMI=weight/pow(height,2)
print("BMI的数值为{:.2f}".format(BMI))
who =""
if BMI < 18.5:
    who="偏瘦"
elif 18.5 <= BMI <25:
    who="正常"
elif 25 <=BMI<30:
    who="偏胖"
else:
    who="肥胖"
print("BMI的指标为:国际,{0}".format(who))
'''
*BMI:对身体质量的刻画,
国际上常用的衡量人体肥胖和健康程度的重要标准,主要用于统计分析
Body Mass Index
BMI=体重/身高的平方
'''

(2)进阶版:

height,weight=eval(input("请输入身高(米)和体重(公斤)[中间用逗号分隔开来]:"))
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<bmi<30:
    who,nat="偏胖","肥胖"
elif bmi>30:
    who,nat="肥胖","肥胖"
print("该BMI数据显示你的健康程度为{0}(通标),{1}(国标)".format(who,nat))

2.圆周率的计算:

(1)基础版:

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))
'''
当一行代码内容,空间不够时,可以使用“\”;

'''

(2)进阶版:

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}".format(perf_counter()-start))
'''
蒙特卡洛法,计算圆周率;
'''

最后,文中如有不足,欢迎批评指正!
后面也会更新文章的内容,多多点赞和关注啊!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值