Python程序的控制结构

今天学习一下python程序的分支和循环结构以及random库的使用。

程序的分支结构

单分支结构

if <条件> :
<语句块>
实例:

1
2
3
guess = eval(input())
if guess == 99:
print("猜对了")

二分支结构

if <条件> :
<语句块1>
else:
<语句块2>
实例:

1
2
3
4
5
guess = eval(input())
if guess == 99:
print("猜对了")
else:
print("猜错了")

多分支结构

if <条件> :
<语句块1>
elif<条件>:
<语句块2>
else:
<语句块3>
实例:

1
2
3
4
5
6
7
8
9
10
score = eval(input())
if score >= 90:
grade = "A"
elif score >=80:
grade = "B"
elif score >=60:
grade = "C"
else:
grade = "D"
print("输入成绩属于级别{}".format(grade))

异常处理

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

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

实例:身体质量指数BMI

1
2
3
4
5
6
7
8
9
10
11
12
heiifght,weight = eval(input("请输入身高(米)和体重(公斤)[用逗号隔开]:"))
bmi = weight/pow(height,2)
print("BMI数值为:{:.2f}".format(bmi))
if bmi < 18.5:
who = "偏廋"
elif 18.5 <= bmi < 25:
who = "正常"
elif 25 <= bmi < 30:
who = "偏胖"
else:
who = "肥胖"
print("BMI指标为:国际'{0}'".format(who))

程序的循环结构

循环遍历

结构:
for <循环变量> in <遍历结构>:
<语句块>
计数循环N次:
for i in range(N):
<语句块>
字符串遍历循环:
for c in s:
<语句块>
列表遍历循环:
for item in ls:
<语句块>

  • ls是一个列表,遍历其每个元素,产生循环

无限循环(条件循环)

while <条件>:
<语句块>

循环控制保留字

  • break: 跳出并结束整个循环
  • continue: 跳出此次循环

random库的使用

random库是使用随机数的Python标准库。
使用 import random

  • 基本随机数函数: seed(),random().
  • 扩展随机数函数: randint(), getrandbits(), uniform(), randrange(), choice(), shuffle()

基本随机数函数

给出种子:
random.seed(10)
random.random() 产生随机数
需要复现随机数就需要使用种子。

扩展随机数函数

  • random.randint()
  • random.randrange()
  • random.getrandbits()
  • random.uniform()
  • random.choice()
  • random.shuffle()

实例:圆周率计算

蒙特卡洛方法:

1
2
3
4
5
6
7
8
9
10
11
12
from random import random
from time import perf_counter
DARTS = 1000*1000
hits = 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))

Python程序的控制结构
https://chujian521.github.io/blog/2018/08/06/Python程序的控制结构/
作者
Encounter
发布于
2018年8月6日
许可协议