全网最详细的Python基础知识(4)看了就是赚了

第二课

  • if语句(重点掌握)
  • 三目运算
  • 逻辑运算(重点掌握)
    • 逻辑短路问题
  • while循环(重点掌握)
  • 上节课作业答案
  • 今日作业

if语句(重点掌握)

  1. 基本概念:if意为‘如果’,在Python中一般用于判断,判断某一个条件是否成立;一般与elif和else一起连用
  2. 语法结构
a = 1
b = 2
c = 3
if b > a:
	print(b)
elif c > b:
	print(c)
else:
	print(a)

如果b大于a,就打印b的值;如果c大于b,就打印c的值;否则打印a的值
这块代码中总共含有三个条件,分别是if对应的,elif对应的,以及else对应的;执行顺序是从if开始,如果if的条件不满足,则执行elif的,如果elif的也不满足,才执行else的。

注意事项:1、每一个条件写完时,需要冒号结尾,表示我想表达的还没有完成,冒号则是告诉系统这一点
2、elif是else if的简写

  1. if中常用的比较符号:!=不等于,==判断两个数是否相等

三目运算

  1. 当条件只有一个时,if语句可以简先成一条代码,这种代码Python中称为三目运算
a =4
print(True if a > 5 else False)

True是当条件为真时返回的值,中间的if a > 5为判断式,最后的else False是当条件判断为假时返回的值
记住!!!三目运算仅适用于单个条件判断,多个条件判断还是要用if…elif…else语句!!!

逻辑运算(重点掌握)

  1. and,和;or,或
a = 1
b = 2
if a > 0 and b < 0:
    print('成立!')
else:
    print('不成立')

返回结果为不成立,and必须满足所有才成立,也就是说必须a>0且b<0都为真,整条条件才成立

a = 1
b = 2
if a > 0 or b < 0:
    print('成立!')
else:
    print('不成立')

返回结果为成立,or只需要满足其中一条,整条条件就可以成立

  1. not,真变假,假变真;这是最特殊的,实例代码如下:
a = 1
b = 2
if not b < 0:
    print('成立!')
else:
    print('不成立')

本来b是大于0的,返回结果应该是不成立,但not会将假的变为真的,相当于判断b是否大于0,所以结果返回的是成立

口诀:and条件需全真,一假则为假;or不需全为真,一真便为真,全假才为假;not却有点特殊,能将真的变为假,假的变为真

  1. 注意事项:if语句中如果同时出现and、or、not,1看not,2看and,3看or;若存在多个and,则从左到右看

逻辑短路问题

逻辑短路只会存在于and和or之间,对于not没有影响

  1. 基本概念:当出现and或者or时,前面的条件已经为真或者已经为假时,系统则不会对后面的条件进行判断
a = 1
b = 5
if a > 2 and b > 10:
    print(False)

返回的结果是False没有错,但是在Python底层中,系统会先判断第一个条件,因为第一个a>2已经是为假了,对于整个条件已经可以做出判断时,系统就不会再去判断下一个条件了

a = 1
b = 5
if a > 0 or b > 1:
    print(True)

or跟上面的and同理,因为第一个条件a>0为真,而且已经可以做出正确的判断了,系统就不会再去判断后面的条件了;这就是所谓的逻辑短路

while循环(重点掌握)

循环在Python中扮演着很重要的角色,当Python需要重复做某一件事情时,变需要循环,Python中有两种循环,第一个是while循环,第二个是for循环,相对而言,for循环我们用的会比较多一点。

  1. while循环:
a = 1  # 循环初始值
while a < 5:  # 循环结束条件
	print(a)  # 需要执行的代码块
	a += 1  # 相当于a=a+1,一般简写为a+=1

代码解析:当a小于5时,打印a的值,并且对a进行加1的操作;此时a的值就变为2,继续判断,a的值还是小于5,继续打印a的值…

当a的值变为5时,a的值等于5,不再是小于5了,所以不会再打印a的值

  1. while循环的三要素:1、循环初始值;2、循环结束条件;3、循环时需要执行的代码块
    三者缺一不可

上节课作业答案

# 第一题 我这里用的是其他数字,原理都一样
year = 20201116 // 10000
print(year)
month = (20201116 // 100) % 100
print(month)
day = 20201116 % 100
print(day)

# 第二题 这里分别用了三种字符串格式化的方法
name = '拾柒'
hight = '180'
age = '18'
print('我叫%s,我的身高为%s,我今年%s岁'%(name,hight,age))
print('我叫' + name + ',我的身高为' + hight + ',我今年' + age + '岁')
print(f"我叫{name},我的身高为{hight},我今年{age}岁")

# 第三题

#提醒用户输入半径
r = input("圆的半径为: ")
#导入数学模块
import math
#计算圆的周长
C = 2*float('%.2f'%math.pi)*float(r)  # 记得要用小数类型,因为用户传入的数不只是整数
print(f"圆的周长为{'%.2f'%C}")
#计算圆的面积
S = float('%.2f'%math.pi)*float(r)**2
print(f"圆的面积为{'%.2f'%S}")

今日作业

  1. 用while循环写出九九乘法表
  2. 利用random的randint方法写一个猜数字游戏;提示:random模块不是第三方库,不需要下载,直接导入即可,使用randint时的语法是 模块.方法(),里面有两个参数,一个是开始数字,一个是结束数字;例如random.randint(1,50)

感谢大家的阅读,谢谢!!关注我会有更多精彩内容!!!

你可能感兴趣的:(Python基础教学,python)