本帖最后由 慕良 于 2020-2-2 21:45 编辑
操作题
0. 视频中小甲鱼使用 if elif else 在大多数情况下效率要比全部使用 if 要高,但根据一般的统计规律, 一个班的成绩一般服从正态分布, 也就是说平均成绩一般集中在 70~80 分之间,因此根据统计规律,我们还可以改进下程序以提高效率。
题目备忘: 按照 100 分制,90 分以上成绩为 A,80 到 90 为 B,60 到 80 为 C,60 以下为 D,写一个程序,当用户输入分数,自动转换为 ABCD 的形式打印。grade = int(input('请输入分数:'))
if 60 <= grade < 80:
print('C')
elif 80 < grade <= 90:
print('B')
elif 90 < grade:
print('A')
elif grade < 60:
print('D')
else:
print('输入错误!')
1. Python 的作者在很长一段时间不肯加入三元操作符就是怕跟 C 语言一样搞出国际乱码大赛, 蛋疼的复杂度让初学者望而生畏, 不过,如果你一旦搞清楚了三元操作符的使用技巧,或许一些比较复杂的问题反而迎刃而解。请将以下代码修改为三元操作符实现:x, y, z = 6, 5, 4
if x < y:
small = x
if z < small:
small = z
elif y < z:
small = y
else:
small = z
修改如下:x,y,z = 6,5,4
min = x if x < y else y
small = min if min < z else z
2.设计一个验证用户密码程序,用户只有三次机会输入错误,不过如果用户输入的内容中包含‘*’则不计算在内。
程序演示如图:
print('==========RESTART==========')
password = 'FishC.com'
i = 3
while i:
write = input('请输入密码:')
if write == password:
print('密码正确,进入程序……')
break
elif '*' in write:
print('密码中不能含有“*”号!您还有',i,'次机会!',end = "")
continue
else:
print('密码输入错误!您还有', i, '次机会!',end = "")
i -= 1
3.编写一个程序,求100-999之间的所有水仙花数。
如果一个3位数等于其各位数字的立方和,则称这个数为水仙花数。例如:153=1^3+5^3+3^3,因此153就是一个水仙花数。i = 100
while i <= 999:
number = (i//100)**3 + (((i-(i//100)*100))//10)**3 + (i-(i//10)*10)**3
if i == number:
print(i)
i += 1
else:
i += 1
4.三色球问题
有红、黄、蓝三种颜色的球,其中红球3个,黄球3个,绿球6个。先将这12个球混合放在一个盒子中,从中任意摸出8个球,编程计算摸出球的各种颜色搭配。print('red\yellow\green')
for red in range(0,4):
for yellow in range(0,4):
for green in range(2,7):
if red+yellow+green == 8:
print(red,'\t',yellow,'\t',green)
ps: \t
|