python学习之路2(程序的控制结构)
1.程序的分支结构
1.1 单分支
if <条件>: 例:guess = eval(input())
<语句块> if guess == 99:
print(“猜对了”)
1.2二分支
if<条件>:
<语句块1>
else:
<语句块2>
1.3紧凑形式:
适用于简单表达式的二分支结构
<表达式1> if <条件> else <表达式2> #条件成立返回表达式1,否则返回表达式2
例:guess = eval(input())
print(“猜{}了”.format(“对”if guess==99 else “错”))
1.4多分支结构
if elif… else 注意多条件之间的包含关系;注意变量取值范围的覆盖
例:对不同分数分级问题
score = eval(input())
if score >= 90:
grade = “A”
elif score >= 80:
grade = “B”
elif score >= 70:
grade = “C”
elif score >=60:
grade = “D”
else:
grade = “E”
print(“输入成绩级别属于{}”.format(grade))
1.5条件判断操作符:
>,<,<=,>=,==,!=
用于条件组合的三个保留字:x and y #逻辑与,同时成立执行语句块;
x or y #逻辑或,一个成立就执行语句块;
not x #条件x的逻辑非
-例: guess = eval(input())
if guess >99 or guess <99: if not true:
print(“猜对了”) print(“语句块1”)
else: else:
print(“猜错了”) print(“语句块2”)
1.6程序的异常处理
1.6.1基本使用:
#不发生异常执行语句块1,发生异常执行语句块2
try:
<语句块1>
except: 或except<异常类型>:
<语句块2>
#在except后标注异常类型后,后续语句块智能响应同等类型的异常,异常类型是python内部定义的,不需要给出字符串形式
例:try:
num = eval(input(“请输入一个整数:”))
print(num**2)
except: 或except NameError:
print(“输入不是整数”)
1.6.2高级使用:
try:
<语句块1>
except:
<语句块2>
else: #不发生异常时执行
<语句块3>
# 是否发生异常,都要执行
finally:
<语句块4>
1.7实例:身体质量指数BMI
--国际上常用衡量人体肥胖与健康程度的重要标准,主要用于统计分析
--定义:BMI=体重(kg)/身高²(m²)
--问题需求:输入—给定体重和身高值;输出—BMI指标分类信息(国内和国际)
#CalBMIv3.py
height,weight = eval(input("请输入身高(米)和体重(公斤)[逗号隔开]:"))
bmi = weight / pow(height,2)
print("BMI 数值为:{:.2f}".format(bmi))
who,nat = "","" #定义空字符串存放内容,可以不写
if bmi < 18.5:
who,nat = "偏瘦","偏瘦"
elif 18.5 <= bmi <24:
who,nat = "正常","正常"
elif 24<= bmi <25:
who,nat = "正常","偏胖"
elif 25 <= bmi < 28:
who,nat = "偏胖","偏胖"
elif 28 <= bmi <30:
who,nat = "偏胖","肥胖"
else:
who,nat = "肥胖","肥胖"
print("BMI指标为:国际'{0},国内{1}'".format(who,nat))
2.程序的循环结构
2.1遍历循环
遍历某个结构形成的循环方式
for <循环变量> in <遍历结构>:
<语句块>
--由for和in保留字组成,完整遍历所有元素后结束
--每次循环,从变量结构中提取一个元素放入循环变量中,并执行一次语句块
2.1.1遍历循环的应用
1.计数循环N次
for i in range(N):
<语句块>
2.计数循环特定次
for i in range(M:N:K)
<语句块>
--range(M:N:K)产生从M开始到N的前一位,K为步长,通俗来讲就是产生一个从M开始,每次加上步长K,值不到N的数字序列
--步长K可以省略,即为0
3.字符串遍历循环
for c in s:
<语句块>
--遍历字符串中的每个字符,s为字符串,c为字符串中的每个字符(存储字符的变量)
4.列表遍历循环
for item in ls:
<语句块>
--ls为一个列表,遍历其中每个元素,产生循环
5.文件遍历循环
for line in fi:
<语句块>
--fi为文件标识符,可以理解为一个文件,遍历文件中的每一行,产生循环
2.2无限循环
由条件控制的循环运行方式
while <条件>:
<语句块>
--条件成立,则执行语句块,执行之后再判断条件,以此往复,直到不符合条件截止
2.3循环控制保留字
--break:跳出并结束当前的整个循环,并执行循环后的语句,一个break只能跳出一层循环
--continue:结束当次的循环,继续执行后续次数循环
--二者均可以和for,while这样的循环搭配使用
例:for c in "PYTHON": for c in "PYTHON":
if c == "T": if c == "T"
continue break
print(c,end="") print(c,end="")
输出为:PYHON 输出为:PY
2.4循环的高级用法
循环与else
for <循环变量> in <遍历结构>: while <条件>:
<语句块1> <语句块1>
else: else:
<语句块2> <语句块2>
--当循环没有被break保留字退出时,执行else语句块
--和异常处理中的else类似
例:
for c in "PYTHON": for c in "PYTHON":
if c == "T": if c == "T"
continue break
print(c,end="") print(c,end="")
else: else:
print("正常退出") print("正常退出")
输出: PYHON正常退出 输出: PY
python学习之路2(程序的控制结构)的更多相关文章
- python学习之路-day2-pyth基础2
一. 模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,第三方库存放位置:site-packages sys模块简介 导入模块 import sys 3 sys模 ...
- Python学习之路-Day2-Python基础3
Python学习之路第三天 学习内容: 1.文件操作 2.字符转编码操作 3.函数介绍 4.递归 5.函数式编程 1.文件操作 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个 ...
- Python学习之路-Day2-Python基础2
Python学习之路第二天 学习内容: 1.模块初识 2.pyc是什么 3.python数据类型 4.数据运算 5.bytes/str之别 6.列表 7.元组 8.字典 9.字符串常用操作 1.模块初 ...
- Python学习之路-Day1-Python基础
学习python的过程: 在茫茫的编程语言中我选择了python,因为感觉python很强大,能用到很多领域.我自己也学过一些编程语言,比如:C,java,php,html,css等.但是我感觉自己都 ...
- Python学习之路【第一篇】-Python简介和基础入门
1.Python简介 1.1 Python是什么 相信混迹IT界的很多朋友都知道,Python是近年来最火的一个热点,没有之一.从性质上来讲它和我们熟知的C.java.php等没有什么本质的区别,也是 ...
- python学习之路------你想要的都在这里了
python学习之路------你想要的都在这里了 (根据自己的学习进度后期不断更新哟!!!) 一.python基础 1.python基础--python基本知识.七大数据类型等 2.python基础 ...
- python学习之路网络编程篇(第四篇)
python学习之路网络编程篇(第四篇) 内容待补充
- python 学习之路开始了
python 学习之路开始了.....记录点点滴滴....
- python学习之路,2018.8.9
python学习之路,2018.8.9, 学习是一个长期坚持的过程,加油吧,少年!
- Python学习之路——pycharm的第一个项目
Python学习之路——pycharm的第一个项目 简介: 上文中已经介绍如何安装Pycharm已经环境变量的配置.现在软件已经安装成功,现在就开始动手做第一个Python项目.第一个“Hello W ...
随机推荐
- HTML 5入门知识(二)
使用HTML 5结构标签 <article> <article>标签可以在网页中定义独立的内容,包括文章.博客和用户评论等.一个article元素通常有它自己的标题,一般放在一 ...
- java web的安全约束--表单的验证
例子,表单和JDBCRealm的安全验证 参考了一篇文章http://www.cnblogs.com/dyllove98/archive/2013/07/31/3228698.html 1.要在wab ...
- 操作系统页面置换算法之FIFO,LRU
#include<iostream> #include<unistd.h> #include<vector> #include<wait.h> #inc ...
- 另一种方式实现事务码SE16里的结果集修改
注: 这种方法不同于网上流传的在调试器里修改fcode的那种解决方案. 使用场景:我们需要直接在开发系统的事务码SE16里修改某些结果集的值,但是在SE16的工具栏里看不见修改按钮: 解决方案 使用/ ...
- Jmeter启动报错:unable to access jarfile ApacheJmeter.jar error 原因:下载的src包没有这个jar包,需下载binary包
安装好jdk并配置了环境变量,下载Jmeter包解压启动jemter.bat提示 unable to access jarfile ApacheJmeter.jar error 原因: 从官网 htt ...
- VMware,win7与linux centos6.4文件互传,linux下挂载windows共享文件夹,vmware tools安装方法
本方法是以win7,VMware9.0.1 ,centos6.4为基础实验的. 对于linux的初级使用阶段,都会Windows中使用linux虚拟机VMWare或者其它的.在Windows与linu ...
- mongodb文档替换
对下面的文档做一个比较大的调整,将 friends.enemies两个字段移到 relationships子文档中. > db.people.insert({ "name" ...
- Android(java)学习笔记4:线程的控制
1. 线程休眠: Java中线程休眠指让正在运行的线程暂停执行一段时间,进入阻塞状态,通过调用Thread类的静态方法sleep得以实现. 当线程调用sleep进入阻塞状态后,在其休眠的时间内,该线程 ...
- maven之构建多模块maven工程
(一)环境搭建 1.Maven下载 ; http://maven.apache.org/download.cgi 第一个在Linux使用,第二个是在Windows,第三和第四是源码: 我们将下 ...
- C# .Net Framework4.5中配置和使用managedCUDA及常见问题解决办法
主要参考英文帖子.我就不翻译了哈.很容易懂的. 先说明我的运行平台: 1.IDE:Visual Studio 2012 C# .Net Framework4.5,使用默认安装路径: 2.显卡类型:NV ...