今天开始在优快云上写学习Pyhton的心得和收获,编程还是要实践才行.
- 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('请等待一年之后再尝试')