Python基础②
一、if语句
①tianqi = ‘xiayu’
if tianqi != ‘xiayu’:
print(‘逛街’)
else:
print(‘在家学习’)
【!= 代表不等于的意思】
【== 两个等于号才用来表示相等的意思】
【if 关键字,判断语句,有‘如果’的意思,后面跟上判断语句】
【else 常和‘if’连用,有‘否则’的意思,后面直接跟上冒号‘:’】
tianqi = ‘xiayu’ weather = ‘rain’
if tianqi != ‘xiayu’: if weather == ‘rain’:
print(‘逛街’) print(‘在家学习’)
else: else:
print(‘在家学习’) print(‘逛街’)
【优化的原则:1.逻辑更加简单,比如少用否定,多用肯定】
【2.用英文代替拼音,减少歧义】
二、多种选择
Weather = ‘overcast’ #阴天 weather = ‘overcast’
If weather = ‘rain’: If weather = ‘rain’:
print(‘在家学习’) print(‘在家学习’)
If weather == ‘overcast’: 〓〓》 elif weather == ‘overcast’:
print(‘去钓鱼’) print(‘去钓鱼’)
If weather == ‘sunny’: else:
print(‘逛街’) print(‘逛街’)
【多种选择时,可以使用elif,保证在一个判断当中,否则会要做很多次判断,增加程序运行时间】
三、三目运算
a = 6
if a > 5:
print(True) ≡≡》 print(True if a > 5 else False)
else: ↑ ↑ ↑
print(False) 为真时返回的值 判断式 为假时返回的值
【后面这种同样也是判断,但是要简洁很相当多,这样可以节省很多的代码,让代码看起来更加简洁】
【注意:只有简单if判断可以使用,过于复杂判断就不要使用了,那样会影响代码的可读性】
四、逻辑运算
> < >= <= == !=
大于 小于 大于等于 小于等于 等于 不等于
【这里比较运算符的返回结果都是bool型,在实际使用中,会经常用到它们,或者它们的组合】
①与逻辑
a = 6 左边 右边 结果
if a > 3 and a < 9: 1 1 1
print(‘ok’) 0 1 0
else: 1 0 0
print(‘no’) 0 0 0
【and 表示‘并且’或者‘和’的意思,只有当and两边都是为真的时候,才会返回真,在其他语言中常用&来表示and】
②或逻辑
a = 11 左边 右边 结果
if a > 8 or a < 2: 1 1 1
print(‘ok’) 0 1 1
else: 1 0 1
print(‘no’) 0 0 0
【or 表示‘或者’的意思,只要两边存在真,就会返回真,都是假才会返回假,在其他语言中常用|来表示or】
③非逻辑
a = False 右边 结果
if not a: 1 0
print(‘ok’) 0 1
else:
print(‘no’)
【not 表示‘取反’的意思,也就是真的会变成假的,假的会变成真的,在其他语言中常用!来表示not】
五、逻辑短路
>>>a = 3
>>>a > 2 and b > 1
Traceback (most recent call last):
File “<pyshell#1>”, line 1, in <module>
a > 2 and b > 1
NameError: name ‘b’ is not defined
【逻辑运算过程中,如果已经能够得到最后的值,则不会再进行后面的判断。这个称为逻辑短路】
>>>a > 4 and b > 1
False
【在这个列子中,因为前面为False,那么结果肯定为False,所以后面的判断就不会再运行,直接返回False】
>>>a = 5
>>>a < 5 or b > 1
Traceback (most recent call last):
File “<pyshell#4>”, line 1, in <module>
a < 5 or b > 1
NameError: name ‘b’ is not defined
【or 也存在逻辑短路,只要前面确定为True, 则后面就不会再进行判断】
>>>a == 5 or b > 1
True
>>>’1’>’2’>3
False
【python底层会把连续判断转化为and连接的形式】
>>>’1’ > ’2’ and ‘2’ > 3
False
【当需要同时判断多个内容的时候,可以使用与、或、非等逻辑来同时判断多个条件】
六、while循环
a = 1
while a < 5:
print(a)
a += 1
【while 的使用和if 类似,判定为真的时候则运行缩进里面的代码,判断式为假时则停止循环】
【使用while 循环要注意: 循环一定能够停止 注意判断式是否能够为假】
a = 1 a a<5 代码
while a < 5: 1 True print(a); a+=1
print(a) 2 True print(a); a+=1
a += 1 3 True print(a); a+=1
4 True print(a); a+=1
5 False /
【整个循环的过程就如同上表一样,一次执行,直到循环结束】
a = 1
while a < 5: 1
print(a) 2
a += 1 ≡≡》 3
else: 4
print(‘循环结束’) 循环结束
【while 循环后面也可以接上else循环,当循环正常结束时,就会执行else内的代码】
a = 1
while True:
if a % 5 == 0: 1
Break 2
print(a) ≡≡》 3
a += 1 4
else:
print(‘循环结束’)
【while 后面也可以直接跟上True,但是内部就必须要使用break来终止循环】
【使用break终止的循环,是不会执行else的内容】
七、作业
①利用while写出九九乘法表
②利用random的randint方法写一个猜数字的小游戏
解:
①h = 1 ②import random
while h<=9: num = random.randint(1,100)
s = 1 i = 1
while s<=h: while i <= 10:
print(f'{s}*{h}={h*s}', end='\t') s = int(input('请输入您猜的数值1-100之间:'))
s += 1 if s<num:
print() print('您猜的数太小啦,再大一点')
h += 1 elif s>num:
print('您猜的数太大啦,再小一点')
else:
print('恭喜你猜对了')
break
i += 1
else:
print('很遗憾,10次机会用完了')
浙公网安备 33010602011771号