- 005收获:
一:请用最快速度说出答案:not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9
我以为结果会是true或者false,但是结果不是
这是为啥,查阅网上资料
而又优先级,not>and>or,
之后就是4 or 6,4 or 9 了答案就是4了
- 006收获:
课程视频:
- 编程要会提纲
课后习题:
- assert 的作用是什么?
assert “断言”,当这个关键字后边的条件为假的时候,程序自动崩溃并抛出 AssertionReeor,可以用来设置程序断点检测
- 007收获:
课程视频:
- elif 相当于c中的else if,会让代码看起来简洁很多,也可以有效避免悬挂else的问题
- python中唯一的三元操作符,
small = x if x<y else y
#这句话等价于
if x<y:
small =x
else:
small =y
课后习题 :
1.假设有x=1,y=2,z=3,请问如何快速将三个变量的值相互交换?
x,y,z=1,2,3
x,y,z=z,y,x
print(x,y,z)
原来python中支持这样的多元赋值
2.你听说过成员资格运算符吗?
Python 有一个成员资格运算符:in,用于检查一个值是否在序列中,如果在序列中返回True,否则返回False
>>> name ="小甲鱼"
>>> '鱼' in name
True
>>> '哈哈' in name
False
3.isspace()用于检测字符是否是空格
4.转换成三元操作符
x,y,z =6,5,4
if x<y:
small=x
if z<small:
small=z
elif y<z:
small=y
else:
small=z
转化为三元操作符:
small = x if x<( y if y<z else z) else ( y if y<z else z)
#这是里面又套用了一个三目操作符,从获得最小值的概念写的
#自己尝试写一遍:
small = x if x<(y if y<z else z) else (y if y<z else z)
#OK!
- 009收获
视频课程:
- for循环
#表达式是
#for 目标 in 表达式
# 循环体
for i in 'member':
print(i,end=' ')
- range用于产生一个数列组,常常和for一起使用,range(start,stop,step)
for i in range(5):
print(i)
3.break是直接结束循环,continue是结束当前的循环,剩下的不执行了,继续下一次的循环
课后习题:
- 5.【学会提高代码的效率】你的觉得以下代码效率方面怎样?有没有办法可以大幅度改进(仍然使用while)?
i = 0
string = 'ILoveFishC.com'
while i < len(string)):
print(i)
i += 1
这里是避免在循环中不断的调用方法
答:
i =0
string = 'ILoveFishC.com'
length =len(string)
while i< length:
print(i)
i +=1
- 设计一个验证用户密码程序,用户只有三次机会输入错误,不过如果用户输入的内容中包含"*"则不计算在内。
#答案中给的是count,这样可能表述更好一点
number = 3
mima = 'xyf123'
temp=input('请输入密码:')
while number>1:
if temp==mima:
print("密码输入正确!")
break
#elif for i in temp=='*':
#这个 in 的用法学到了
elif "*" in temp:
temp=input('请重新输入密码,密码中不能包含*'+'(还有'+str(number)+'次机会):')
continue
else:
number-=1;
#如果直接加number会报错的,字符串中无法直接拼接
temp=input('请重新输入密码'+'(还有'+str(number)+'次机会):')
if number==0:
print('请等待一年之后再尝试')