python的程序的控制结构

程序的控制结构

程序的分支结构

-单分支结构
-二分支结构
-多分支结构
-条件判断及组合
-程序的异常处理
二分支结构

guess = eval(input())
if guess == 99:
    print("猜对了")
else:
    print("猜错了")

紧凑形式:适用于简单表达式的二分支结构
表达式1 if 条件 else 表达式2
不支持带等号的赋值形式

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

多分支结构
if …
elif …
else …

条件判断及组合
在这里插入图片描述
在这里插入图片描述
用于条件组合的三个保留字
x and y: 两个条件x和y的逻辑
x or y:两个条件x和y的逻辑
not x:条件x的逻辑

guess = eval(input())
if guess > 90 or guess < 99:
    print("猜错了")
else:
    print("猜对了")

异常处理

try:
	<语句块1>
except:
	<语句块2>

try:
	<语句块1>
except <异常类型>:
	<语句块2>

例子:

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

在这里插入图片描述

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

标注异常类型后,仅响应该异常,异常类型名字不同于变量

try:
	<语句块1>
except:
	<语句块2>
else:
	<语句块3>
finally:
	<语句块4>

-finally 对应语句块4一定执行
-else 对应语句块3在不发生异常时执行
总结:
在这里插入图片描述

实例5:身体质量指数BMI

BMI:对于身体质量的刻画
BMI:Body Mass Index
-定义:BMI=体重(kg)/身高^2 (m*m)
在这里插入图片描述
问题需求
-输入:给定体重和身高值
-输出:BMI指标分类信息(国际和国内)

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

国际与国内

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 = "偏胖", "肥胖"
else:
    who, nat = "肥胖", "肥胖"
print("BMI 指标为:国际'{0}',国内'{1}'".format(who,nat))

程序的循环结构

-遍历循环
-无限循环
-循环控制保留字
-循环的高级用法
遍历循环

for <循环变量> in <遍历结构>:
    <语句块>

for i in range(N): #计数循环N次
    <语句块>

for i in range(M,N,K): #从M到N之前,以K为步长
    <语句块>

for i in range(1,6): #1 2 3 4 5
    <语句块>

for i in range(1,6,2): #1 3 5
    <语句块>

for c in s:   #s是字符串,遍历字符串每个字符,产生循环
    <语句块>

#fi是一个文件标识符,遍历其每一行,产生循环
for line in fi:  
    <语句块>

例子:

for c in "Python123":
    print(c, end=",")

在这里插入图片描述

for item in [123, "PY", "456"]:
    print(item, end=",")

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

while <条件>:
	<语句块>

-反复执行语句块,知道条件不满足时结束

a=3
while a>0:
    a=a-1
    print(a)

在这里插入图片描述

a=3
while a>0:
    a=a+1
    print(a)

循环控制保留字
-break跳出并结束当前整个循环,执行循环后的语句
-continue结束当次循环,继续执行后续次数循环
-break和continue可以与for和while循环搭配使用

打印非T的其他字母:

for c in "PYTHON":
    if c == "T":
        continue
    print(c,end="")

在这里插入图片描述

for c in "PYTHON":
    if c == "T":
        break
    print(c,end="")

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

模块3:random库的使用

random库是使用随机数的Python标准库
-伪随机数:采用梅森旋转算法生成的(伪)随机序列中元素
-random库主要用于生成随机数
-使用random库:import random
在这里插入图片描述
基本随机数函数
随机数种子
在这里插入图片描述

import random
random.seed(10)
print(random.random())
print(random.random())

在这里插入图片描述
在这里插入图片描述
扩展随机数函数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值