07
0.if not(money < 100):上边这行代码相当于?
if money>=100
- 1.assert 的作用是什么?
- assert “断言”,当这个关键字后边的条件为假的时候,程序自动崩溃并抛出 AssertionReeor
2.假设有x=1,y=2,z=3,请问如何快速将三个变量的值相互交换?
x,y,z=1,2,3
x,y,z=z,y,x
print(x,y,z)
3.你听说过成员资格运算符吗?
Python 有一个成员资格运算符:in,用于检查一个值是否在序列中,如果在序列中返回True,否则返回False
>>> name ="小甲鱼"
>>> '鱼' in name
True
>>> '哈哈' in name
False
动手
0.按照100分制,90分以上成绩为A,80到90为B,70到80为C,60到70为D,其余为不及格
注意:三元操作符 small = x if x < y else y
自己写的代码还是很Low
while True:
temp=input("chengji")
while temp.isspace() or not temp.isdigit():
temp =input("chongxinshuruchengji")
a=int(temp)
if a>=90:
print('A')
elif a>=80 and a<90:
print('B')
elif a>=70 and a<80:
print('C')
elif a>=60 and a<70:
print('D')
else:
print('不及格')
附加:
temp = input("请输入分数:")
score = int(temp)
while score > 100 or score <0:
temp = input("输入错误,请重新输入")
score = int(temp)
if 90 <= score <= 100:
print("A")
elif 80 <= score < 90:
print("B")
elif 70 <= score < 80:
print("C")
elif 60 <= score <70:
print("D")
else:
print("不及格")
1.转换成三元操作符
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)
-----------------------------------------------------------------------------------------
09
知识点:
1、while 条件 :
循环体
当条件为真时,执行循环体;否则跳出循环;
2、for 目标 in 表达式 :
循环体
目标:迭代变量,类似c语言里经常用到的次数i,但要注意的是i只从表达式(列表里)抽取元素,不受循环体里影响,下面举例说明。
循环体:列表,类似数组。
>>> name="isabel"
>>> for i in name:
print(i,end='*')
i*s*a*b*e*l*
>>> member=['isabel','light','l']
>>> for i in member:
print(i,len(i))#i代表列表中每个元素,相当于c语言中member[i],第一个元素是member[0]
isabel 6
light 5
l 1
>>> member=['isabel','light','l']
>>> for i in member:
print(i,len(member))#len(member)返回member列表中元素个数
isabel 3
light 3
l 3
>>>
3、range(start,stop,step)#默认step=1
>>> range(5)
range(0, 5)
>>> list(range(5))
[0, 1, 2, 3, 4]
>>> for i in range(5):
print(i)
0
1
2
3
4
>>> #range默认从0开始。range(5),5代表截止到的元素,但其实真正能到的是它前一个元素
>>> for i in range(2,7):
print(i)
2
3
4
5
6
>>> #range(2,7)代表从2到7,i代表里面每个元素;
>>> for i in range(1,10,3):
print(i)
1
4
7
4、break
作用:跳出循环
5,continue
作用;跳出本轮循环,开启下一轮循环
>>> for i in range(1,10):
if i%2!=0:
print(i)
i+=2
print(i)
1
3
4
3
5
6
5
7
8
7
9
10
9
11
>>> for i in range(1,10):
if i%2!=0:
print(i)
continue
i+=2
print(i)
1
4
3
6
5
8
7
10
9
对比可看出,加continue后后面循环不再执行,i再往后移动一个元素
--------------------------------------------------------------------------------------------------------
课后练习动动手:
1、设计一个验证用户密码程序,用户只有三次机会输入错误,不过如果用户输入的内容中包含"*"则不计算在内。
我的代码:错误!将两个字符串一个个比较了
正确代码:
count = 3
password = 'FishC.com'
while count:
passwd = input('请输入密码:')
if passwd == password:
print('密码正确,进入程序......')
break
elif '*' in passwd:
print('密码中不能含有"*"号!您还有', count, '次机会!', end=' ')
continue
else:
print('密码输入错误!您还有', count-1, '次机会!', end=' ')
count -= 1
1.编写一个程序,求 100~999 之间的所有水仙花数。 如果一个 3 位数等于其各位数字的立方和,则称这个数为水仙花数。例如:153 = 1^3 + 5^3 + 3^3,因此 153 就是一个水仙花数。 我的代码:
for i in range(100,1000):
sum=0
x=i
while x!=0:
r=x%10
sum=sum+r**3
x=x//10
if sum==i:
print(i)
小甲鱼代码:
for i in range(100, 1000):
sum = 0
temp = i
while temp:
sum = sum + (temp%10) ** 3
temp //= 10 # 注意这里要使用地板除哦~
if sum == i:
print(i)
2.三色球问题 有红、黄、蓝三种颜色的球,其中红球 3 个,黄球 3 个,蓝球 6 个。先将这 12 个球混合放在一个盒子中,从中任意摸出 8 个球,编程计算摸出球的各种颜色搭配
我的代码
i=0
for red in range(0,4):
for yellow in range(0,4):
for blue in range(0,7):
if (red+blue+yellow==8):
i+=1
print("第",i,"种可能")
print("红色球数目为:",red,"黄色球数目为:",yellow,"蓝色球数目为",blue)
小甲鱼代码
print('red\tyellow\tblue')
for red in range(0, 4):
for yellow in range(0, 4):
for blue in range(2, 7):
if red + yellow + blue == 8:
print(red, '\t', yellow, '\t', blue)
其中\t是横向制表符