程序的分支结构

>单分支结构

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

if <条件>:

<语句块>

代码示例:

guess = eval(input())
if guess == 99:
print("猜对了")
if True:
print("条件正确")

>二分支结构

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

if <条件> :

  <语句块1>

else :

  <语句块2>

代码示例:

guess = eval(input())
if guess == 99:
print("猜对了")
else :
print("猜错了") if True:
print("语句块1")
else :
print("语句块2")

紧凑形式:适用于简单表达式的二分支结构

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

代码示例:

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

>多分支结构

if <条件1> :

  <语句块1>
elif <条件2> :

  <语句块2>

  ……
else :

  <语句块N>

代码示例:

  对不同分数分级的问题

score = eval(input())
if score >= 60:
grade = "D"
elif score >= 70:
grade = "C"
elif score >= 80:
grade = "B"
elif score >= 90:
grade = "A"
print("输入成绩属于级别{}".format(grade))
#注意多条件之间的包含关系
#注意变量取值范围的覆盖

>条件判断及组合

< 小于

<= 小于等于

>=

>

== 等于

!= 不等于

x and y 两个条件x和y的逻辑与

x or y 两个条件x和y的逻辑或

not x 条件x的逻辑非

代码示例:

guess = eval(input())
if guess > 99 or guess < 99:
print("猜错了")
else :
print("猜对了")
if not True:
print("语句块2")
else :
print("语句块1")

>程序的异常处理

异常处理的基本使用

try :

  <语句块1>

except:

  <语句块2>

try :

  <语句块1>

except <异常类型>:

  <语句块2>

示例1:

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

示例2:

try :
num = eval(input("请输入一个整数: "))
print(num**2)
except NameError:
print("输入不是整数")
#标注异常类型后,仅响应此类异常 异常类型名字等同于变量名

异常处理高级使用:

try :
<语句块1>
except :
<语句块2>
else :
<语句块3>
finally :
<语句块4>
#- finally对应语句块4一定执行
#- else对应语句块3在不发生异常时执行

程序的循环结构

>遍历循环

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

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

  <语句块>

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

-由保留字for和in组成,完整遍历所有元素后结束

-每次循环,所获得元素放入循环变量,并执行一次语句块

遍历循环的应用:

计数循环(N次)

for i in range(N):

  <语句块>

-遍历由range()函数产生的数字序列,产生循环

计数循环(特定次)

for i in range(M,N,K):

    <语句块>

-例:

for i in range(1,6):
print(i)
#输出
#
#
#
#
#
for i in range(1,6,2):
print("Hello:",i)
输出
Hello:1
Hello:3
Hello:5

字符串遍历循环

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 item in [123,"PY",456]:
print(item,end=",")

123,PY,456,

文件遍历循环

for line in fi:

  <语句块>

-fi是一个文件标识符,遍历其每行,产生循环

>无限循环

由条件控制的循环运行方式

while <条件>:

  <语句块>

-反复执行语句块,直到条件不满足结束

>循环控制保留字

break和continue

-break跳出并结束当前循环,执行循环后的语句

-continue结束当此循环,继续执行后续次数循环

-break和continue可以与for和while循环搭配使用

>循环的高级用法

循环的扩展

循环与else

for <变量> in <遍历结构> :

  <语句块1>

else:

  <语句块2>

while <条件> :

  <语句块1>

else:

  <语句块2>

-当循环没有被break语句退出时,执行else语句块

-else语句块作为“正常”完成循环的奖励

-这里else的用法与异常处理中else用法相似

部分图片来自慕课https://www.icourse163.org/course/BIT-268001 若侵权请告知删除

 
 
 
 
 
 
 
 
 

Python-程序的控制结构的更多相关文章

  1. Python学习笔记(四)Python程序的控制结构

    在学习了 Python 的基本数据类型后,我们就要开始接触Python程序的控制结构,了解 Python 是如何使用控制结构来更改程序的执行顺序以满足多样的功能需求.如果有的小伙伴在之前学过C语言,j ...

  2. Python 数据类型和控制结构

    Python是一门脚本语言,我也久闻大名,但正真系统的接触学习是在去年(2013)年底到今年(2014)年初的时候.不得不说的是Python的官方文档相当齐全,如果你是在Windows上学习Pytho ...

  3. 运行python程序

    1 在windows下运行python程序 1)从DOS命令行运行python脚本 用python解释器来执行python脚本,在windows下面python解释器是python.exe,我的pyt ...

  4. 【python之路2】CMD中执行python程序中文显示乱码

    在IDLE中执行下面代码,中文显示正常: # -*- coding:utf-8 -*- st=raw_input("请输入内容")print st 但在CMD中执行e:\hello ...

  5. Python程序高效地调试

    现在我在debug python程序就只是简单在有可能错误的地方print出来看一下,不知道python有没像c++的一些IDE一样有单步调试这类的工具?或者说各位python大神一般是怎么debug ...

  6. python学习笔记-python程序运行

    小白初学python,写下自己的一些想法.大神请忽略. 安装python编辑器,并配置环境(见http://www.cnblogs.com/lynn-li/p/5885001.html中 python ...

  7. python程序一直在后台运行的解决办法

    刚写了个python程序,要一直在后台运行,即使断开ssh进程也在,下面是解决办法: 假如Python程序为test.py 编写shell脚本start.sh #!/bin/bash python t ...

  8. 第一个python程序

    一个python程序的两种执行方式: 1.第一种方式是通过python解释器: cmd->python->进入python解释器->编写python代码->回车. 2.第二种方 ...

  9. Python程序的首行

    >问题 >>在一些python程序中的首行往往能够看见下面这两行语句中的一句 >>>#!/usr/bin/Python >>>#!/usr/bin ...

  10. Python程序员的进化史

    各种程序员所写的阶乘算法代码 # -*- coding: utf-8 -*- #新手程序员(递归) def factorial(x): if x == 0: return 1 else: return ...

随机推荐

  1. 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 数据库连接不释放测试 连接池 释放连接 关闭连接 有关 redis-py 连接池会导致服务器产生大量 CLOSE_WAIT 的再讨论以及一个解决方案

    import pymysqlfrom redis import Redisimport time h, pt, u, p, db = '192.168.2.210', 3306, 'root', 'n ...

  2. jsp页面设置复选框checkbox的只读效果

    提到只读,很容易想到readonly属性,但是对于复选框来说,这个属性和期望得到的效果是有差别的.原因在于readonly属性关联的是页面元素的value属性(例如text,设置了readonly就不 ...

  3. Selenium-一个用于Web应用程序测试的工具

    Selenium.pptx

  4. 01-S3C2440学习入门概念+环境搭建【转】

    本文转载自:http://blog.csdn.net/fengyuwuzu0519/article/details/54754812 一.心得: 这两年学过很多东西,有点杂,总感觉不够踏实,于是准备写 ...

  5. [HNOI2011]XOR与路径

    https://zybuluo.com/mdeditor#1094266 标签(空格分隔): 高斯消元 期望 题面 从 1 号节点开始,以相等的概率,随机选择与当前节点相关联的某条边,并沿这条边走到下 ...

  6. poj3539 Elevator——同余类bfs

    题目:http://poj.org/problem?id=3539 题目大意是给定 a, b, c,求 1~h 内有多少个数可以被 a, b, c 通过加减法组成: 这是今天刚讲的神奇的——同余类 b ...

  7. 2-1 创建第一个Vue实例

    https://cn.vuejs.org/ 生产版本是经过压缩后的版本,它里面把一些没用的警告的代码删除掉了所以它会更精悍一些. 直接引入CDN的网址我们就可以使用Vuejs了.使用生产版本或者CDN ...

  8. 八大排序算法(Python)

    一.插入排序 介绍 插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的.个数加一的有序数据.      算法适用于少量数据的排序,时间复杂度为O(n^2).      插入 ...

  9. (function(){})();和(function(){}())每个括号的用途和区别

    (function(){…})(); 这种写法是因为JS中没有块级作用域的概念,所以可以用lambda函数来模仿块级作用域,这个的作用是定义并立即调用一个lambda函数,这个函数中定义的任何变量,都 ...

  10. flask 初始

    一.flask安装 这里提供两种安装方式: 第一种: pip3 install flask 第二种: pip3 install -i https://pypi.douban.com/simple/ f ...