首页 > 编程语言 >python程序的流程控制结构

python程序的流程控制结构

时间:2022-12-26 20:09:35浏览次数:43  
标签:count 语句 遍历 迭代 python 流程 控制结构 循环 print


文章目录

  • ​​一. 程序的顺序结构​​
  • ​​二. 程序的分支结构​​
  • ​​1. 单分支结构​​
  • ​​2. 二分支结构​​
  • ​​(1). 基本形式​​
  • ​​(2). 紧凑形式​​
  • ​​3. 多分支结构​​
  • ​​4. 条件判断及组合​​
  • ​​5. 程序的异常处理​​
  • ​​三. 程序的循环结构​​
  • ​​1. 遍历循环:for语句​​
  • ​​(1). 概述​​
  • ​​(2). 应用​​
  • ​​1. range()函数生成迭代器​​
  • ​​计数循环(N次)​​
  • ​​计数循环(特定次)​​
  • ​​2. 字符串作为迭代器​​
  • ​​字符串遍历循环​​
  • ​​3. 列表作为迭代器​​
  • ​​列表遍历循环​​
  • ​​4. 文件作为迭代器​​
  • ​​文件变量循环​​
  • ​​2. 无限循环​​
  • ​​(1). 概述​​
  • ​​3. 循环控制保留字​​
  • ​​4. 循环的高级用法​​
  • ​​(1). 循环的扩展​​
  • ​​5. 实例:圆周率的计算问题​​
  • ​​分析圆周率的计算方法​​
  • ​​1. 圆周率的近似计算公式​​
  • ​​2. 蒙特卡罗方法(进行随机撒点)​​

一. 程序的顺序结构

按顺序执行每一步骤,每条语句都会且仅会执行一次

python程序的流程控制结构_python

二. 程序的分支结构

注:else语句可有可无,都不会报错

1. 单分支结构

根据判断条件结果而选择不同向前路径的运行方式

语法:

if 条件:
语句块

python程序的流程控制结构_字符串_02

2. 二分支结构

(1). 基本形式

语法:

if 条件:
语句块1
else:
语句块2

python程序的流程控制结构_迭代器_03

判断回文字符串

str = input("请输入字符串:")
if(str == str[::-1]):
print(str + "为回文串")
else:
print(str + "不是回文串")

(2). 紧凑形式

适用于简单表达的二分支结构

语法:

表达式1 if 条件 else 表达式2

python程序的流程控制结构_python_04

3. 多分支结构

基本语法:

if 条件1:
语句块1
elif 条件2:
语句块2
...
else:
语句块n

python程序的流程控制结构_字符串_05

身体质量指数BMI

height, weight = eval(input("请输入身高(米)和体重(kg)[逗号隔开]:"))
bmi = weight / pow(height, 2)
print("BMI 数值为:{:.2f}".format(bmi))
who = ""
if bmi < 18.5:
who = "偏瘦"
elif 18.5 <= bmi <24:
who = "正常"
elif 24 <= bmi < 28:
who = "偏胖"
else:
who = "肥胖"
print("BMI指数为:国内'{0}'".format(who))

4. 条件判断及组合

python程序的流程控制结构_python_06


python程序的流程控制结构_python_07

5. 程序的异常处理

python程序的流程控制结构_python_08


python程序的流程控制结构_迭代器_09


python程序的流程控制结构_分支结构_10


python程序的流程控制结构_python_11


python程序的流程控制结构_分支结构_12


python程序的流程控制结构_分支结构_13

三. 程序的循环结构

一个程序的主要运行时间都花在了循环上

1. 遍历循环:for语句

(1). 概述

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

基本语法:

for 循环变量 in 遍历结构(迭代器):
语句块

作用:

从遍历结构中逐一提取元素,放在循环变量中

特点:

由保留字for和in组成,完整遍历所有元素和结束
每次循环,所获得元素放入循环变量,并执行一次语句块

python程序的流程控制结构_字符串_14

注:

迭代器是Python语言中的重要机制,一个迭代器描述一个值序列,在for语句中,变量按顺序取得迭代器表示的值序列中的各个值,对每一个值都将执行语句块一次

(2). 应用

1. range()函数生成迭代器

range()函数是Python语言中的一个内置函数,调用这个函数就能产生一个迭代序列

  1. range(n)
    得到一个迭代序列:0 1 2 3 4…n-1
当n<=0时候序列为空
  1. range(m, n)
    得到的跌打序列为:m, m+1, m+2, … n-1
当m>=n的时候序列为空
  1. range(m, n, d)
    得到的序列为:m, m+d, m+2d, … ,
    按步长值d递增,如果d是负数则递减,直至那个最接近但不包括n的等差值
可能产生空序列
计数循环(N次)

循环范围:0到N-1次

python程序的流程控制结构_分支结构_15

计数循环(特定次)

循环范围:从M到N-1,步长为K

python程序的流程控制结构_分支结构_16

2. 字符串作为迭代器

字符串遍历循环

python程序的流程控制结构_python_17

for s in "abcde":
print(s, end=" ")

结果为:a b c d e
统计英文句子中大写字符、小写字符、数字字符的个数

str = input("请输入一句英文:")
count_upper = 0
count_lower = 0
count_didit = 0
for s in str:
if s.isupper(): count_upper = count_upper+1
if s.islower(): count_lower = count_lower+1
if s.isdigit(): count_didit = count_didit+1
print("大写字符:", count_upper)
print("小写字符:", count_lower)
print("数字字符:", count_didit)

3. 列表作为迭代器

列表遍历循环

python程序的流程控制结构_分支结构_18

4. 文件作为迭代器

文件变量循环

python程序的流程控制结构_字符串_19

2. 无限循环

(1). 概述

由条件控制的循环运行方式
用一个表示逻辑条件的表达式来控制循环,当条件成立的时候反复执行循环体,直到条件不成立的时候循环结束

基本语法:

while 条件:
语句块

特点:

先求表达式的值,如果值为True就反复执行循环体语句块,直到条件不满足时结束

python程序的流程控制结构_字符串_20

求非负数字序列中的最大值、最小值、平均值

count = 0
total = 0
print("请输入一个非负整数,以-1作为输入结束!")
num = int(input("输入数据:"))
min = num
max = num
while(num != -1):
count += 1
total += num
if num<min: min = num
if num>max: max = num
num = int(input("输入数据:"))
if count>0:
print("最小{}, 最大{}, 均值{:.2f}".format(min,max,total/count))
else:
print("输入为空")

3. 循环控制保留字

python程序的流程控制结构_分支结构_21


注:break仅跳出当前最内层循环

python程序的流程控制结构_迭代器_22

4. 循环的高级用法

(1). 循环的扩展

python程序的流程控制结构_字符串_23


python程序的流程控制结构_分支结构_24

5. 实例:圆周率的计算问题

分析圆周率的计算方法

1. 圆周率的近似计算公式

python程序的流程控制结构_分支结构_25

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

结果为:圆周率值是:3.141592653589793

2. 蒙特卡罗方法(进行随机撒点)

python程序的流程控制结构_分支结构_26

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

结果是:
圆周率值是:3.143824
运行时间是:1.10215s


标签:count,语句,遍历,迭代,python,流程,控制结构,循环,print
From: https://blog.51cto.com/u_15923298/5970737

相关文章

  • Python函数和代码复用
    文章目录​​一.函数的定义和使用​​​​1.函数的理解与定义​​​​(1).定义​​​​(2).作用​​​​(3).函数分类​​​​(3).基本语法​​​​2.函数的使用及调......
  • Python序列类型及操作
    文章目录​​一.序列类型定义(sequence)​​​​1.序列是具有先后关系的一组元素​​​​2.序列是一个基类类型,一般使用序列类型衍生出来的类型​​​​3.序号的定义​​......
  • Python字典类型及操作
    文章目录​​一.字典类型定义(dict)​​​​1.映射​​​​2.字典类型是映射的体现​​​​3.创建字典​​​​(1).直接创建字典​​​​(2).使用内置函数dict()创建字......
  • Python集合类型及操作
    文章目录​​一.集合类型概述(set)​​​​1.定义​​​​2.特点​​​​二.集合的创建与访问​​​​1.直接创建集合​​​​(1).定义​​​​(2).语法​​​​(3).......
  • Python网络爬虫概述
    文章目录​​一.掌握定向网络数据爬取和网页解析的基本能力​​​​二.python开发工具选择​​​​1.文本工具类IDE​​​​2.集成工具类IDE​​一.掌握定向网络数据爬......
  • Python文件与异常
    文章目录​​一.文件的基础知识​​​​1.文件与文件类型​​​​(1).定义​​​​(2).文件名的组成​​​​(3).文件类型​​​​2.目录与文件路径​​​​(1).目录......
  • Python安装教程
    一.Python需要安装什么因为Python是跨平台的,它可以运行在Windows、Mac和各种Linux/Unix系统上。在Windows上写Python程序,放到Linux上也是能够运行的。把Python安装到你的电......
  • python解析rosbag
      #coding:utf-8#!/usr/bin/python#Extractimagesfromabagfile.importsysimportosimportroslib#roslib.load_manifest(PKG)importrosbagimpo......
  • SQl Server——流程控制语句
     IF...ELSE语句:条件处理语句IFBoolean_expression{sql_statement|statement_block}ELSE{sql_statement|statement_block}需求:查询成绩表sc编号为801,学科为01这门课程所有......
  • Python常用库的使用
    文章目录​​一.Python计算生态​​​​二.如何导入第三方库​​​​方式一:pip命令行直接安装​​​​方法二:手动下载第三方库,再使用pip安装(适用部分库直接pip安装失败)​......