初学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的二 ...
随机推荐
- 为什么Fourier分析?
本文旨在给出Fourier分析的几个动机. 目录 波动方程 热导方程 Lapalce变换 求和公式 表示论 特征理论 参考资料 波动方程 考虑一维的波动方程最简单的边值问题$$u(x,t), x\in ...
- Java的selenium代码随笔(1)
package ShareClass; import java.awt.AWTException;import java.awt.Robot;import java.awt.Toolkit;impor ...
- C#中使用JavaScriptSerializer类实现序列化与反序列化
1.添加引用 JavaScriptSerializer类的使用需要引用System.Web.Extensions.dll文件,根据路径:C:\Program Files (x86)\Reference ...
- mysql截取函数substring_index()和right()用法
); 以.作为截取的分隔符. ); 从第2位开始截取,截取所有的. );
- Windows平台下载、安装、配置Apache全攻略
本文介绍了如何在windows平台进行apache服务器的下载.安装和配置过程. 1.下载 首先进入apache for windows的官方下载地址[猛戳这里],依次在下列页面进行下载操作: 我这里 ...
- java垃圾回收GC
垃圾回收时,暂停虚拟机运行 基础假设:大部分对象只存在很短的时间 对于新生代,Minor GC经常会发生 Major/Full GC会对老生代做GC 老生代GC采用Compact算法,移动形成完整的空 ...
- Euler Circuit UVA - 10735(混合图输出路径)
就是求混合图是否存在欧拉回路 如果存在则输出一组路径 (我就说嘛 咱的代码怎么可能错.....最后的输出格式竟然w了一天 我都没发现) 解析: 对于无向边定向建边放到网络流图中add(u, v, 1) ...
- react创建组件的几种方式及其区别
react创建组件有如下几种方式 ①.函数式定义的无状态组件 ②.es5原生方式React.createClass定义的组件 ③.es6形式的extends React.Component定义的组 ...
- Linux硬盘性能测试工具 - FIO
1.安装:方法一:直接用指令yum -y install fio方法二:如果方法一不可行则,在官网http://freshmeat.net/projects/fio/下载fio的安装包.安装方法很简单 ...
- python之路day06--python2/3小区别,小数据池的概念,编码的进阶str转为bytes类型,编码和解码
python2#print() print'abc'#range() xrange()生成器#raw_input() python3# print('abc')# range()# input() = ...