文章目录
1.程序的分支结构
1.1 单分支结构
解释:如果…就…
if <条件>:
<语句块>
注意:条件后面有个冒号
1.2 二分支结构
(1)普通形式:
if <条件>:
<语句块1>
else:
<语句块2>
(2)紧凑形式
解释:适用于简单表达式的二分支结构
<表达式1> if <条件> else <表达式2>
举例:
guess = evel(input())
print("猜{}了".format("对" if guess==99 else "错"))
1.3 多分支结构
if <条件>:
<语句块1>
elif:
<语句块2>
...
else:
<语句块2>
举例:
score = eval(input())
if score >= 90:
grade = "A"
elif score >= 80:
grade = "B"
elif score >= 70:
grade = "C"
elif score >= 60:
grade = "D"
print("输入成绩属于{}级别".format(grade))
1.4 条件判断及组合
(1)操作符
(2)保留字
1.5 程序的异常处理
(1)基本形式
try:
<语句块1>
except <异常类型>:
<语句块2>
注意:异常类型可不标记,但是标记之后,仅响应该异常,异常类型名字等同于变量
(2)高级使用
try:
<语句块1>
except <异常类型>:
<语句块2>
else:
<语句块3>
finally:
<语句块4>
注意:
- finally对应语句块4一定执行
- else对应语句块3在不发生异常时执行
2.实例:身体质量指数BMI
代码:
height,wight = eval(input("请输入身高(米)和体重(公斤)[逗号隔开]:"))
bmi = wight / 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))
运行结果:
3.程序的循环结构
3.1 遍历循环
(1)基本形式
for <循环变量> in <遍历结构> :
<语句块>
解释: 每次循环,所获得的元素放入循环变量,并执行一次语句块
(2)基本应用
- 计数循环(N次)
for i in range(M,N,K): //从M开始不到N之间的整数,以K为步伐取数
<语句块>
解释:遍历有range()函数产生的数字序列,产生循环
- 字符串遍历循环
for c in s:
<语句块>
解释:s是字符串,遍历字符串的每个字符,产生循环
举例:
>>>for c in "Python123":
print(c,end=",")
//运行结果:P,y,t,h,o,n,1,2,3,
- 列表遍历循环
for item in ls:
<语句块>
解释:ls是一个列表,遍历其每一个元素,产生循环
- 文件遍历循环
for line in fi:
<语句块>
解释:fi是一个文件标识符。遍历其每行,产生循环
3.2 无限循环
while <条件>:
<语句块>
解释:反复执行语句块,直到条件不满足为止
3.3 循环控制保留字
break
跳出并结束当前整个循环,(跳出当前层循环,不跳出外层循环)执行循环后的语句continue
结束当次循环,不执行本次循环的后续语句,从头执行新循环
举例:
>>>for c in "PYTHON":
if c == "T":
continue
print(c,end=",")
//运行结果:P,Y,H,O,N
s = "PYTHON"
while s != "":
for c in s :
if c== "T":
break
print(c,end="")
s=s[:-1]
//运行结果:PYPYPYPYPYP
3.4 循环的高级用法
循环与else
- 当循环没有被break语句退出时,执行else语句块
- else语句块作为“正常”完成循环的奖励
- 这里的else用法与异常处理的else用法类似
举例:
4.random库的使用
4.1 基本介绍
- 使用时
import random
- random库包括两类函数,常用8个
(1)基本随机数函数:
seed(),random()
(2)扩展随机数函数:
randint(),getrandbits(),uniform(),randrange(),choice(),shuffle()
4.2 基本随机数函数
4.2 扩展随机数函数
5.实例:圆周率的计算
#计算圆周率
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))