发布时间:2019-09-25 08:23:39编辑:auto阅读(1890)
按照100分制,90分以上成绩为A,80到90为B,60到80为C,60以下为D,写一个程序,当用户输入分数,自动转换为ABCD的形式打印。
使用if 条件:...elif 条件:...else...循环
fenshu0 = input('请输入你的分数:')
fenshu = int(fenshu0)
if (fenshu > 90) and (fenshu <= 100):
print('你的分数在A档.')
elif (fenshu > 80) and (fenshu <= 90):
print('你的分数在B档.')
elif (fenshu > 60) and (fenshu <= 80):
print('你的分数在C档,.')
elif (fenshu >= 0) and (fenshu <=60):
print('你的分数在D档.')
else:
print('错误的输入!')
python可以有效避免“悬挂else”,代码缩进按严格标准处理
条件表达式(三元操作符),语法:x if 条件 else y
例:
x,y = 4,5
if x< y:
small = x
else:
small = y
可改进为:
x,y = 4,5
small = x if x < y else y
断言(assert)
当assert这个关键字后面的条件为假的时候,程序自动崩溃并抛出AssertionError的一场。当需要确保程序中的某个条件一定为真才能让程序正常工作的时候,可以在条件中置入assert检查点。
举例:
>>> assert 3 > 4
Traceback (most recent call last):
File "<pyshell#22>", line 1, in <module>
assert 3 > 4
AssertionError
---------------分隔符,哈哈哈----------------------
二、课后作业:
0.if not (money<100):这行代码相当于?
if money >= 100:
1.assert的作用是什么?
assert称为断言,可以判断一条语句是否成立,如果出错会报AssertionError的错误。当需要确保一个程序中的条件能够正确运行时,可以在条件中插入一个检查点。如果报错说明此条件有问题
2.假设x=1,y=2,z=3,请问如何快速将三个变量的值互相交换?
x,y,z = z,x,y
3.猜猜(x<y and [x] or [y])[0]实现什么样的功能?
没整明白,后续学习
4.你听说过成员资格运算符吗?
python有一个成员资格运算符:in。用于检查一个值是否在序列中,如果在序列中返回true,否则返回false。
---------------分隔符,哈哈哈-------------------
三、动动手:
0.视频中小甲鱼使用 if elif else 在大多数情况下效率要比全部使用 if 要高,但根据一般的统计规律,一个班的成绩一般服从正态分布,也就是说平均成绩一般集中在 70~80 分之间,因此根据统计规律,我们还可以改进下程序以提高效率。
score = int(input('请输入一个分数:'))
if 90 < score <= 100:
print('A')
elif 80 < score <= 90:
print('B')
elif 60 < score <= 80:
print('C')
elif 0 <= score <= 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
改为:
small = x if ( x < y and x < z) else ( y if y < z else z)
上一篇: python实现明星专家系统
下一篇: 学习笔记-小甲鱼Python3学习第一讲
47760
46269
37152
34655
29246
25906
24778
19878
19441
17933
5730°
6335°
5853°
5903°
7004°
5841°
5860°
6372°
6331°
7695°