Python_7分钟笔记_基础三(判断、循环)
1.逻辑判断——True&False
要实现条件结构或循环结构,那么逻辑判断必不可或缺。既然如此,那我们来看看Python中的逻辑判断。我们知道计算机只会0&1,Python也单一,它的逻辑判断也只有真(True)或者(False),而且具有处女情结的是首字母必须大写。
-
布尔类型的数据只有两种:真(True)和(False),而且首字母必须大写.
-
常见布尔运算符号:或、与、非
布尔运算符号
比较运算符号
-
3个小问题
-
问题1:为什么1=1,写成1==1?
从a=1可知道我们的等号’=’是个赋值符号,以示区别。类似还有\的斜杠写法,姑且理解为约定俗成的语法规定罢了。
-
问题2:不等于号采用的是!=,而不是<>,意思一样前者是主流.
X+=1等价于X=X+1,X-=1,等价于X=X-1,一样约定俗称的语法
-
问题3:为什么 "est"and "est" 返回 "est", 1 and 1 返回 1,而不是返回 True 呢?
Python 和很多语言一样,都是返回两个被操作对象中的一个,而非它们的布尔表达式True 或 False 。
这意味着如果你写了 False and 1 ,你得到的是第一个操作字元(False),而非第二个字元(1)。
-
and和or,常用于复合判断2<3 and 2<6
-
文字太多过于枯燥,来动动笔,写出下列答案。
1. True and True
2. False and True
3. 4 == 1 and 1 == 1
4. "txt" == "txt"
5.not (1 != 10 or3 == 4)
6.not("testing" == "testing" and "Zed" == "CoolGuy")
7.8 == 8 and not ("testing" == 1 or 1 == 0)
2.条件控制(if)
-
先看个栗子
用if语句实现:
age=21
if age>=18:
print('your age is',age)
print('adult')
-
因此我们要输出小于18的情况的时候需要增加一个else语句。
-
意思是,如果if判断是False,则不要执行if的内容而执行else的内容。
age=5
if age>=18:
print('your age is',age)
print('adult')
else:
print('your age is',age)
-
显然我们生活中关于年龄的判断没这么简单,如果类别更多了怎么办?
-
那就需要采用elif来做更加细致的判断:
age=5
if age>=18:
print('成年人')
elif age>=6:
print('青少年')
else:
print('儿童')
通过上面的栗子我们可以想相以下几个问题:
-
1.if对下一行的代码做了什么?
If 语句为代码创建了一个所谓的“分支”,就跟游戏中的情节分支一样。if语句告诉你的脚本:
“如果这个布尔表达式为真,就运行接下来的代码,否则就跳过这一段
-
2. 为什么 if 语句的下一行需要 4 个空格的缩进?
行尾的冒号的作用是告诉 Python 接下来你要创建一个新的代码区段。
这根你创建函数时的冒号是一个道理。只要一行以“冒号(colon)” : 结尾,它接下来的内容就应该有缩进。
#如果下一行没有缩进,则报错。
-
3.如果多个 elif 区块都是 True 是python 会如何处理?Tab键四格子缩进
Python 只会运行它碰到的是 True 的第一个区块,所以只有第一个为 True 的区块会被运行。重要
2.1 单条件结构
-
继续吃栗子
2.2 多条件控制
2.3 if的完整结构:
-
栗子是个好东西
-
谈谈input有条件的输入。
#最后看一个有问题的条件判断。很多同学会用 input()读取用户的输入,
#这样可以自己输入,程序运行得更有意思:
birth = input('birth: ')
if birth < 2000:
print('00 前')
else:
print('00 后')
#输入1982,结果报错:
-
#这是因为input()返回的数据类型是 str,str 不能直接和整数比较,必须先把 str 转换成整数。Python 提供了 int()函数来完成这件事情:
s = input('birth: ')
birth = int(s)
if birth < 2000:
print('00 前')
else:
print('00 后')
3.循环(LOOP)
3.1 在python中有两种循环方式:
-
第一种是 for...in 循环,依次把 list 或 tuple 中的每个元素迭代出来;
-
第二种循环是 while 循环,只要条件满足,就不断循环,条件不满足时才停止
3.2 for···in循环
-
先且看两个小栗子:
-
sum = 0
for x in range(101):
sum = sum + x
print(sum)
#计算1+2+···+100
#range是个左闭右开的函数,range(1,11)表示1-10
#range()
函数会从第一个数到最后一个,但不包含最后一个数字。
-
for···in循环的结构
-
在你开始使用 for 循环之前,你需要在某个位置存放循环的结果。
最好的方法是使用列表(list),顾名思义,它就是一个按顺序存放东西的容器。
-
如何创建列表:
将这几个电影名创建为python列表:当幸福来敲门,无法触碰,挪威的森林。
意思是转化成这样的:movies=['当幸福来敲门','无法触碰','挪威的森林']
只需要采用以下几个步骤:
1.数据两边加引号,把电影名转换为字符串。
2.用逗号将列表项与下一项分隔开
3.在列表的两边加上开始和结束的括号
4.使用赋值符号=,将这个列表赋值给一个标志符movies
3.3 while循环
-
while循环的结束
-
while-loop 会一直执行它下面的代码片段,直到它对应的布尔表达式为 False 时才会停下来。
-
再谈冒号
如果你的某一行是以 : (冒号, colon)结尾,那就意味着接下来的东西是一个新的代码片段,新的代码片段是需要被缩进的。
#只有将代码用这样的方式格式化,Python 才能知道你的目的。
-
while的结构
-
栗子是个好东西
a=1
while a<3:
print('a小于3')
#系统就会不断输出a小于3,从而造成死循环。
-
那如何控制while循环呢?
-
1.在循环过程中制造某种可以使循环停下来的条件,常用借用break来停止。
-
2.改变循环成立的条件
-
减少出现死循环的方法:
1.尽量少用 while-loop,大部分时候采用for-loop更加好 。
2.重复检查你的 while 语句,确定测试的结果会出现False
-
好啦,逻辑结构的大体内容介绍至此。至于嵌套问题不是在此想谈的。
-
在此推荐几本Python入门的教程:
第一本:编程小白的第一本 Python 入门书 作者:侯爵 (非常用心和美观,推荐5颗星)
在本文笔记中的彩色图片就是摘抄于本书,大家可以去亚马逊下载免费的,或者图灵社区。
第二本:笨方法学Python & Python基础教程
需要注意的是这两本书的代码部分不适合python3.5.
-
好啦,到此。茄子暂别,下期分享再见。