Python 程序的控制结构

  • 分支结构
  • 单分支结构
  • 二分支结构
  • 多分支结构
  • 分支实例
  • 循环结构
  • 遍历循环 for
  • 无限循环 while
  • 循环控制保留字
  • random库
  • 圆周率计算实例


分支结构
单分支结构
if  <条件>:
	<语句块>

判断条件是否执行,条件true则执行语句块。

二分支结构
if  <条件>:
	<语句块1>
else:
	<语句块2>

如果条件成立执行语句块1,否则执行语句块2。

多分支结构
if  <条件1>:
	<语句块1>
elif<条件2>:
	<语句块2>
	……
else:
	<语句块n>

判断不同的条件,对应执行不同的语句块。

分支实例

用国内国际不同标准测量身体BMI指数

h,w = eval(input("请输入身高(米)体重(公斤),用逗号隔开:"))
bmi = w/pow(h,2)
print("bmi指数为:{:.2f}".format(bmi))
gn,gw="",""
if bmi<18.5:
    gn,gw = "偏瘦","偏瘦"
elif 18.5<=bmi<24:
    gn,gw = "正常", "正常"
elif 24<=bmi<25:
    gn,gw = "偏胖", "正常"
elif  25<=bmi<28:
    gn,gw = "偏胖", "偏胖"
elif  28<=bmi<30:
    gn,gw = "肥胖", "偏胖"
else:
    gn,gw = "肥胖", "肥胖"
print("bmi指标为国内{0},国际{1}".format(gn,gw))
循环结构
遍历循环 for

一般结构:

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

计数循环(N次):
从M开始到N-1次结束,步长为K。

for i in range(M,N,K):
	<语句块>

字符串遍历循环:
s为字符串。

for c in s:
	<语句块>

列表遍历循环:
ls为列表。

for item in ls:
	<语句块>
无限循环 while

一般结构:

while <条件>:
	<语句块>
循环控制保留字

breakcontinue

break:跳出并结束当前循环,执行循环后的语句。
continue:结束当次循环,继续执行后续次数循环。

下面有两个例子感受一下:

for c in "python":
    if c == "t":
        continue
    print(c,end="")

跳过当次的循环,继续执行之后的循环。

for c in "python":
    if c == "t":
        break
    print(c,end="")

当层的整个循环都结束。

random库
import random

函数

描述

seed(a=None)

初始化给定的随机种子,默认为当前的系统时间

random()

生成一个[0.0,1.0]之间的随机小数

randint(a,b)

生成一个[a,b]之间的随机整数

randrange(m,n,k)

生成一个[m,n)之间以k为步长的随机整数

getrandbits(k)

生成一个k比特长的随机整数

uniform(a,b)

生成一个[a,b]之间的随机小数

choice(seq)

从序列seq中随机选择一个元素

shuffle(seq)

将序列seq中元素随机排列,返回打乱后的序列

圆周率计算实例

蒙特卡罗方法:

import random
import time
DARTS = 1000*1000
hits = 0.0
start = time.perf_counter()
for i in range(1,DARTS+1):
    x,y = random.random(),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(time.perf_counter()-start))