初学python之路-day04
每天一篇总结,今天学习的是有关于流程控制的知识。
流程控制,顾名思义,在计算机运行中,程序是被某种控制方式按照某种流程或者规律来执行的。而python程序的运行,肯定也是按照某种规律在执行。这些规律可以分为顺序结构、分支结构、循环结构。顺序结构,在宏观上,逻辑上方代码一定比逻辑下方代码先执行,自上而下。分支结构,在今天学习的内容里就是if分支结构,这是需要条件来判断,并选择不同执行路线的执行规律。循环结构,就是指在做某些行为时,我们要给计算机重复执行的指令,即满足了某种条件或不满足某种条件,重复执行的指令,在这里有while循环与for循环。
一、if分支结构:
1.if 条件:
执行代码
eg:if age > 18:
print("年龄大了")
2.if 条件:
执行代码1
else:
执行代码2
eg:if age < 18:
print("年龄还好")
else:
print("年龄大了")
3.if 条件:
执行代码1
elif 条件2:
执行代码2
(else:
执行代码3)
注意:elif可以根据需求出现多次(代码层次方面要考虑条件的先后顺序);所有分支都可以根据需求决定是否有else结构,else结构就是条件(所有条件)不满足才去执行的分支。
4.if嵌套
if 条件:
if 条件:
执行代码1
elif 条件:
执行代码2
...
else:
执行代码n
elif 条件:
...
注意:这任何结构中,当需要条件判断时就可以出现if分支结构。
eg:if grade > 90:
print('优秀')
if input("进入体能测试:") == '通过':
print("进入国家队")
elif grade > 60:
print('通过')
else:
print('开除')
二、while循环
while 条件:
循环体
(else:
执行代码)
注:else语句可以根据情况适时添加,else分支会在while循环正常结束(没有被break结束)时执行。
在while循环里,当条件满足时,就会执行循环体,下次循环开始,再去判断条件,若满足,继续循环,若不满足,结束循环。在使用while循环时,要注意有结束时的不满足的条件,否则循环一直执行,成为死循环。
在循环的过程中,由于某种原因,不想继续执行循环,可以使用break与continue结束循环。break:完全结束一个循环,跳出循环体执行后面条件。continue:终止该循环下的此次循环,进入下次循环。在while循环里可以嵌套while循环,形成循环嵌套。
注意:0,"",[],{},None可以被while及if这种需要条件判断的,转换为False,其他都是True。
eg:c = 0
while c < 10:
c += 1
if c == 5:
break
print(c)
else:
print('执行')
三、for循环
for 循环得到的结果 in 被循环的容器:
循环体
for循环用来完成特定的循环需求。
eg:for i in [1, 2, 3, 4, 5]:
print(i)
以上方循环举例,当第一次循环时,循环得到的结果i就是 被循环的容器[1, 2, 3, 4, 5]中第一个值1;再次循环,i会被重新赋值为列表中第二个值2,以此类推。在for循环中,若当次循环的结果不使用,在下次循环就会被覆盖,无法找回。当列表里的值被i全部赋值一遍后,循环自动结束。for循环中,不考虑死循环,但是有无限的容器。
在此,学习range()函数,可以看出被循环的容器,可以帮助我们创建容器。
range(开始被包含, 结束不被包含, 步长)
eg: for i in range(5): # [0, 1, 2, 3, 4]
print(i)
在range(5)中,默认开始为0,结束为5,步长为1。
range(10,5,-1)可以看作列表 [10, 9, 8, 7, 6]。当步长为负数,可以从大值到小值获取区间。
在for循环中,break与continue也适用于for循环,效果一样。
eg:打印出九九乘法表
for i in range(1,10):
for j in range(1,i+1):
r='%sx%s=%s'%(j,i,i*j)
print(r,end=" ")
print()
结果如下:
1x1=1
1x2=2 2x2=4
1x3=3 2x3=6 3x3=9
1x4=4 2x4=8 3x4=12 4x4=16
1x5=5 2x5=10 3x5=15 4x5=20 5x5=25
1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36
1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49
1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64
1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81
初学python之路-day04的更多相关文章
- python之路:Day04 --- Python基础4
本节内容 1.字符串格式化 2.迭代器和生成器 3.装饰器 4.Json & pickle 数据序列化 5.软件目录结构规范 一.字符串格式化 百分号式 %[(name)][flags][wi ...
- 初学python之路-day12
本篇补上字符串的比较:按照从左往右比较每一个字符,通过字符对应的ascii进行比较 一.函数默认值的细节 # 如果函数的默认参数的默认值为变量,在所属函数定义阶段一执行就被确定为当时变量存放的值 a ...
- 初学python之路-day10
基础部分先告一段落,今天开始学习函数. 一.函数:完成 特定 功能的代码块,作为一个整体,对其进行特定的命名,该名字就代表函数 -- 现实中:很多问题要通过一些工具进行处理 => ...
- 初学python之路-day08前期总结
# 1# 计算机原理:控制器 运算器 存储器 input设备 output设备 IO流# 三大核心:CPU 内存 硬盘 # 内存分布:栈区 与 堆区# 如二进制与十进制的转换,如1111转成十进制为1 ...
- 初学python之路-day08
#学习了编码后,还要了解三种字符串.# 一.# 普通字符串:u''以字符作为输出单位,# print(u'abc') # 用于显示abc# # 二进制字符串:b'' 二进制字符串以字节作为输出单位# ...
- 初学python之路-day07-字符编码
今天的博客主要关于字符编码,并对前几天学习的数据类型做些总结. 学习字符编码的目的:解决乱码问题. 应用程序打开文本文件的三步骤 1.打开应用程序 2.将数据加载到内存中 3.cpu将内存中的数 ...
- 初学python之路-day03
我在前面的文章提到了变量的概念,这里详细介绍下变量的命名.变量名,只能是字母.数字及下划线 "_" 任意组成,而且不能以数字开头.在命名变量时,尽量避免与系统关键词重名,如:'an ...
- 初学python之路-day02
python,诞生于1989年的圣诞,Guido van Rossum为了打发无聊,因此发明了python,并且开放了其源代码,使得这门语言在随后的几十年的发展的越来越广.现今,2.x版本已经在2.7 ...
- 初学python之路-day01
第一天学习python,先了解到了进制之间的转换关系. 如二进制与十进制的转换,如1111转成十进制为15,1111从左向右可看出2^3+2^2+2^1+2^0为8+4+2+1=15.记住前8位1的二 ...
随机推荐
- mpvue-Vant Weapp踩坑记
微信开发者工具:开发.调试和模拟运行微信小程序的最核心的工具了,所以必须安装 # 全局安装 vue-cli $ npm install --global vue-cli # 创建一个基于 mpvue- ...
- Kubernetes — 从0到1:搭建一个完整的Kubernetes集群
准备工作 首先,准备机器.最直接的办法,自然是到公有云上申请几个虚拟机.当然,如果条件允许的话,拿几台本地的物理服务器来组集群是最好不过了.这些机器只要满足如下几个条件即可: 满足安装 Docker ...
- ubuntu 18.04安装pytorch、cuda、cudnn等
版权声明:本文为博主原创文章,欢迎转载,并请注明出处.联系方式:460356155@qq.com ubuntu 16.04用了1年多了,18.04版已经发布也半年了,与时俱进,重装Linux系统,这里 ...
- Timer类的常见使用方法
System.Timers名称空间中的Timer类的构造函数只需要一个时间间隔,经过该时间间隔后应该调用的方法用Elapsed事件指定,这个事件需要一个ElapsedEventHandler类型的委托 ...
- 2019-04-03 搭建Mybatis环境
1. 配置pom.xml依赖 <dependency> <groupId>org.mybatis</groupId> <artifactId>mybat ...
- 三、数据API-3
预备 返回格式需要包括: // Code 状态码(200,400等) // Msg 提示信息(邮箱格式不正确:数据返回成功等) // Result 返回数据 一.WebAPI与传统MVC的区别是 MV ...
- git 学习(2) ----- 分支
当我们进行程序开发的过程中,有时会产生一个新的想法,然后就想马上试验,那我们怎么办? 如果我们继续在现有的基础上进行开发,但最后想法不成功,我们还要进行版本回退?如果我们的新想法,需要很长时间才能实现 ...
- 【论文阅读】Sequence to Sequence Learning with Neural Network
Sequence to Sequence Learning with NN <基于神经网络的序列到序列学习>原文google scholar下载. @author: Ilya Sutske ...
- GDOI2018游记&题解
day0 第一件事当然是去酒店入住+领一堆东西. 感觉酒店不错,而且离学校挺近的,走路10分钟不到,骑车5分钟就到了. 然后去学校吃饭.我们在教工饭堂吃饭,饭菜还不错,但是没有筷子差评. 吃完饭后找了 ...
- bzoj 1208: [HNOI2004]宠物收养所 (Treap)
链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1208 题面: 1208: [HNOI2004]宠物收养所 Time Limit: 10 ...