Python全栈最全学习之路-Python基础(二)

条件语句和while循环

一、 if语句
思考一:如果周末不下雨,就去逛街,否则就在家学习,像这样的一个选择,该如何用代码表示出来呢?
思考二:在程序当中,我们同样会有很多需要做出选择的地方,那么该怎么做呢?

tianqi = 'xiayu'
if tianqi != 'xiayu':
	print('逛街')
else:
	print('在家学习')

分析一下,先用个变量表示下条件,然后用if语句进行判断,后面加上冒号(英文的)表示还没结束,下面进行判断条件后的动作,要用到缩进这是pyhton的重点,else表示上一个条件不否,继续冒号,然后是不否怎么做,缩进写上记下来的动作,条件判断返回的都是bool类型,也就是(True,False

语法详解
!=         代表不等于的意思
==         两个等于号才用来表示相等的意思
if         关键字,判断语句,有“如果”的意思,后面跟上判断语句
else       常和“if”连用,有“否则”的意思,后面直接跟上冒号“:”

优化一下代码:

weather = 'rain'
if weather == 'rain':
	print('在家学习')
else:
	print('逛街')

优化原则:1、逻辑更加简单,比如少用否定,多用肯定;2、用英文代替拼音,减少歧义
但是想想上线如果我们有多中选择呢?是不是要这样

weather = 'overcast' # 阴天
if weather == 'rain':
	print('在家学习')
if weather == 'overcast'"
	print('去钓鱼')
if weather == 'sunny':
	print('逛街')

在这里插入图片描述
多种选择时,可以使用elif,保证在一个判断当中,否则会做很多次判断,增加程序运行时间如下代码

weather = 'overcast'
if weather == 'rain':
	print('在家学习')
elif weather == 'overcast':
	print('去钓鱼')
else:
	print('逛街')

在这里插入图片描述
总结:
1、if使用:if后面跟上判断表达式,注意加上某号和缩进
2、else使用:else不能单独使用,后面直接跟上某号,没有判断式
3、elif使用:elif只能跟在if后面,不能单独出现
4、判断使用:判断语句是基本的语句,是必须要掌握的内容

二、 三木运算
思考一:刚才给大家演示了常规的if判断,但是一些简单的if判断有没有简单写法呢?

a = 6
if a > 5:
	print(True)
else:
	print(False)

在这里插入图片描述

a = 6
print(True if a > 5 else False)

在这里插入图片描述
分析下,’True‘为真试返回的值,’if a > 5‘是判断式,'False’为假时返回的值
上面第二个同样也是判断,但是要简洁相当多,这样可以节省很多的代码,让代码看起来更加简洁
注意:只有简单if判断可以使用,过于复杂判断就不要使用了,那样会影响代码的可读性

三、 逻辑运算
思考一:刚才我们介绍了if后面可以接上判断语句,如果我们需要同时判断多个条件该怎么办呢?

> 大于
< 小于
>= 大于等于
<= 小于等于
== 等于
!= 不等于

在上面已经见到了等于和不等于,在pytho中常用的还有这些比较运算符,这里比较运算符的返回结果都是bool型,在实际使用中,会经常用到它们,或者他们的组合

  • 与逻辑
    当需要同时判断多个内容的时候,可以使用与、或、非逻辑来同时判断多个条件
a = 6
if a > 3 and a < 9:
	print('ok')
else:
	print('no')

在这里插入图片描述
and:表示”并且“或者”“的意思,只有当and两边都是为真的时候,才会返回真,其他语言中常用&来表示and

左边 右边 结果
1 1 1
0 1 0
1 0 0
0 0 0
  • 或逻辑
a = 11
if a > 8 or a < 2:
	print('ok')
else:
	print('no')

在这里插入图片描述
or:表示”或者“的意思,只有两边存在真,就会返回真,都会假才会返回,在其他语言中常用 | 来表示or

左边 右边 结果
1 1 1
0 1 1
1 0 1
0 0 0
  • 非逻辑
a = False
if not a:
	print('ok')
else:
	print('no')

在这里插入图片描述
not:表示”取反“的意思,也就是真的会变成假的假的会变成真的,在其他语言中常用!来表示not

右边 结果
1 0
0 1
  • 逻辑短路

Python全栈最全学习之路-Python基础(二)_第1张图片
逻辑运算过程中,如果已经能够得到最后的值,则不会再进行后面的判断,这个称为逻辑短路
在这个例子中,因为前面为False,那么结果肯定为False,所以后面的判断就不会再运行,直接返回False
Python全栈最全学习之路-Python基础(二)_第2张图片
or也存在逻辑短路,只要前面确定为True,则后面就不会再进行判断
Python全栈最全学习之路-Python基础(二)_第3张图片
Python底层会把连续判断转化成and连接的形式
总结
1、and是并且的意思,也就是说左右两边需要同时满足
2、or是或者的意思,左右两边只要满足一个即可
3、逻辑短路,理解逻辑短路的原理
4、not是取反的意思,也就是真的会变成假,假的会变成真

四、while循环
思考一:if判断可以选择做某事,但是只能做一次,如果要重复判断很多次呢?

a = 1
while a < 5:
	print(a)
	a += 1

Python全栈最全学习之路-Python基础(二)_第4张图片
while的使用和if类似,判断为的时候则运行缩进里面的代码,判断式为时则停止循环
使用while循环要注意:循环一定能够停止,注意判断是否能够为假
分析一下:

a a<5 代码
1 True print(a);a+=1
2 True print(a);a+=1
3 True print(a);a+=1
4 True print(a);a+=1
5 False /

整个循环的过程就如同上表一样,依次执行,知道循环结束

a = 1
while a < 5:
	print(a)
	a += 1
else:
print('循环结束')

Python全栈最全学习之路-Python基础(二)_第5张图片
while循环后面也可以接上else循环,当循环正常结束时,就会执行else内的代码

a = 1
while True:
	if a % 5 == 0:
		break
	print(a)
	a += 1
else:
	print('循环结束')

Python全栈最全学习之路-Python基础(二)_第6张图片
while后面也可以直接跟上True,但是内部就必须要使用break来终止循环,使用break终止的循环,是不会执行else的内容
总结:
1、while使用:while的使用方法
2、循环终止:循环一定要能够被终止掉,判断式可以为假
3、while中的else:了解:while后面的else在循环正常终止的情况下会执行
4、break:掌握:break终止循环,其后面的else不会执行

五、 本节课总结:

一、if判断
掌握:if判断的使用
掌握:多个条件下的选择判断
二、三目运算
掌握:三目运算的基本使用
三、逻辑判断
掌握:and、or和not三种逻辑运算符
四、while
掌握:while的循环使用方法
掌握:break的使用方法

六、 上次作业
参考代码如下
1、一个时间格式的整数:20201012,利用计算取出它的年月日

a = 20201012
year = a // 10000
moth = a // 100 % 100
day = a % 100
print('{}年{}月{}日'.format(year,moth,day))

在这里插入图片描述
2、将多个单词利用字符串拼接,输出成一句话 ‘hello world’‘ my name is ’‘xxx’ 3种

a = 'hello world'
b = 'my name is'
c = 'xiaoyu'
print(a + ' ' + b + ' '+ c)
print(f'{a} {b} {c}')
print('%s %s %s' % (a,b,c))
print('{} {} {}'.format(a,b,c))

Python全栈最全学习之路-Python基础(二)_第7张图片
3、计算出一个圆的周长,面积,让用户输入半径

import math
r = float(input('请输入圆的半径:'))
area = math.pi * r ** 2
girth = 2 * math.pi * r
print('圆的面积为:{:.2f}'.format(area))
print('圆的周长为:{:.2f}'.format(girth))

Python全栈最全学习之路-Python基础(二)_第8张图片
*

六、 作业
1、利用while写出九九乘法表
2、利用random的randint方法写一个猜数字的小游戏*

参考代码下个博客见

你可能感兴趣的:(python全栈学习,python,编程语言,字符串)