Python-程序的控制结构
程序的分支结构
>单分支结构
根据判断条件结果而选择不同向前路径的运行方式
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-程序的控制结构的更多相关文章
- Python学习笔记(四)Python程序的控制结构
在学习了 Python 的基本数据类型后,我们就要开始接触Python程序的控制结构,了解 Python 是如何使用控制结构来更改程序的执行顺序以满足多样的功能需求.如果有的小伙伴在之前学过C语言,j ...
- Python 数据类型和控制结构
Python是一门脚本语言,我也久闻大名,但正真系统的接触学习是在去年(2013)年底到今年(2014)年初的时候.不得不说的是Python的官方文档相当齐全,如果你是在Windows上学习Pytho ...
- 运行python程序
1 在windows下运行python程序 1)从DOS命令行运行python脚本 用python解释器来执行python脚本,在windows下面python解释器是python.exe,我的pyt ...
- 【python之路2】CMD中执行python程序中文显示乱码
在IDLE中执行下面代码,中文显示正常: # -*- coding:utf-8 -*- st=raw_input("请输入内容")print st 但在CMD中执行e:\hello ...
- Python程序高效地调试
现在我在debug python程序就只是简单在有可能错误的地方print出来看一下,不知道python有没像c++的一些IDE一样有单步调试这类的工具?或者说各位python大神一般是怎么debug ...
- python学习笔记-python程序运行
小白初学python,写下自己的一些想法.大神请忽略. 安装python编辑器,并配置环境(见http://www.cnblogs.com/lynn-li/p/5885001.html中 python ...
- python程序一直在后台运行的解决办法
刚写了个python程序,要一直在后台运行,即使断开ssh进程也在,下面是解决办法: 假如Python程序为test.py 编写shell脚本start.sh #!/bin/bash python t ...
- 第一个python程序
一个python程序的两种执行方式: 1.第一种方式是通过python解释器: cmd->python->进入python解释器->编写python代码->回车. 2.第二种方 ...
- Python程序的首行
>问题 >>在一些python程序中的首行往往能够看见下面这两行语句中的一句 >>>#!/usr/bin/Python >>>#!/usr/bin ...
- Python程序员的进化史
各种程序员所写的阶乘算法代码 # -*- coding: utf-8 -*- #新手程序员(递归) def factorial(x): if x == 0: return 1 else: return ...
随机推荐
- sql server的版本检查
https://support.microsoft.com/en-ph/help/321185/how-to-determine-the-version-edition-and-update-leve ...
- 【POJ 3190】 Stall Reservations
[题目链接] http://poj.org/problem?id=3190 [算法] 将这些牛按开始吃草的时间排序 维护一个数组S,Si表示畜栏i进去的最后一头牛结束吃草的时间,对于每头牛,找任意一个 ...
- poj3421 X-factor Chains——分解质因数
题目:http://poj.org/problem?id=3421 好久没有独立A题了...做点水题还是有助于提升自信心的: 这题就是把 x 质因数分解,质因数指数的和 sum 就是最长的长度,因为每 ...
- 91. Ext中获取combobox中的valueField和displayField的值
转自:https://blog.csdn.net/jcy472578/article/details/42113119Ext.getCmp("schemaVersion").val ...
- PCB OD工具破解实例应用
以下破解Genesis为例,对OD工具使用进行实例讲解 工具简单 介绍下下载地址: OD工具:是一个新的动态追踪工具,将IDA与SoftICE结合起来的思想,Ring 3级调试器, 是为当今最为流行的 ...
- Network(Tarjan+LCA)
http://poj.org/problem?id=3417 元宵节+情人节晚上刷的题,纪念一下.. 题意:给出n个点,m条边,然后Q个询问,每次询问输入一条边,输出加入此边后桥的个数.. #incl ...
- redis取经之路
redis基本数据结构 Redis使用的是自己构建的简单动态字符串(SDS)[simple dynamic string,SDS]的抽象类型,并将SDS用做Rdis的默认字符串表示 redis> ...
- Java并发编程系列之Semaphore详解
简单介绍 我们以饭店为例,假设饭店只有三个座位,一开始三个座位都是空的.这时如果同时来了三个客人,服务员人允许他们进去用餐,然后对外说暂无座位.后来的客人必须在门口等待,直到有客人离开.这时,如果有一 ...
- 网络简要<入门篇>
OSI七层 网络的含义:两个不在同一地理位置的主机(终端),通过传输介质和通信协议,实现通信和资源共享. 网络四要素:终端,传输介质 ,通信协议,资源 网络分类: 以范围分类:LAN网(局域网,以太网 ...
- 第一个只出现一次的字符--java实现
/** * 主要思想是通过数组来保存每个字符的出现次数,数组访问O(1),所以总时间复杂度可以保持O(n),通过两次遍历可以解决问题 * @param ch * @return */ public s ...