|

楼主 |
发表于 2020-2-2 21:42:45
|
显示全部楼层
本帖最后由 慕良 于 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
|
|