入门学习-Python-小甲鱼学习资料-Day008-了不起的分支和循环2

本文介绍了一个分数分级程序,使用Python的if-elif-else结构进行分数判断,并讨论了根据统计规律优化程序的方法。此外,文章还探讨了三元操作符的使用,以及如何用它简化代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

标题 根据视频自己练习 :

分数分级练习题
#我写的代码
score = input(“please input the score :”)
while not score.isdigit():
score = input(“input error , please input a number :”)
score = int(score)
if 100>= score >= 90:
print(“Great , your score is A , congratulations”) # 注意缩进
elif 90> score >= 80 :
print(“Fine , your score is B , congratulations”)
elif 80> score >= 60 :
print(“OK , your score is C , Do your best ,please”)
elif 0 <= score < 60 :
print(“Well , your score is D , Are you stupid or something ?”)
else : # 注意 , 最后是 else
print(“0 to 100 , can you give me a right number ?”)

关于 悬挂 else
在这里插入图片描述
三元操作符
在这里插入图片描述
断言 assert
在这里插入图片描述

标题 课后练习题

动动手原题 :
0. 视频中小甲鱼使用 if elif else 在大多数情况下效率要比全部使用 if 要高,但根据一般的统计规律,一个班的成绩一般服从正态分布,也就是说平均成绩一般集中在 70~80 分之间,因此根据统计规律,我们还可以改进下程序以提高效率。
题目备忘:按照100分制,90分以上成绩为A,80到90为B,60到80为C,60以下为D,写一个程序,当用户输入分数,自动转换为ABCD的形式打印。

  1. Python 的作者在很长一段时间不肯加入三元操作符就是怕跟C语言一样搞出国际乱码大赛,蛋疼的复杂度让初学者望而生畏,不过,如果你一旦搞清楚了三元操作符的使用技巧,或许一些比较复杂的问题反而迎刃而解。
    请将以下代码修改为三元操作符实现:
  2. x, y, z = 6, 5, 4
  3. if x < y:
  4.  small = x
    
  5.  if z < small:
    
  6.      small = z
    
  7. elif y < z:
  8.  small = y
    
  9. else:
  10.  small = z
    

测试题答案:

  1. if not (money < 100): 这行代码相当于?
    if money >= 100:

  2. assert 的作用是什么?
    assert这个关键字我们称之为“断言”,当这个关键字后边的条件为假的时候,程序自动崩溃并抛出AssertionError的异常。
    什么情况下我们会需要这样的代码呢?当我们在测试程序的时候就很好用,因为与其让错误的条件导致程序今后莫名其妙地崩溃,不如在错误条件出现的那一瞬间我们实现“自爆”。
    一般来说我们可以用Ta再程序中置入检查点,当需要确保程序中的某个条件一定为真才能让程序正常工作的话,assert关键字就非常有用了。

  3. 假设有 x = 1,y = 2,z = 3,请问如何快速将三个变量的值互相交换?
    x, y, z = z, y, x

  4. 猜猜 (x < y and [x] or [y])[0] 实现什么样的功能?

这其实是 Python 的作者还没有为 Python 加入三元操作符之前,Python 社区的小伙伴们灵活的使用 and 和 or 搭配来实现三元操作符的功能,这里边有涉及到列表和切片的知识,这部分知识很快就会讲解,迫不及待的朋友可以先稍微预习下。

  1. 你听说过成员资格运算符吗?
    Python 有一个成员资格运算符:in,用于检查一个值是否在序列中,如果在序列中返回 True,否则返回 False。
    例如:
  2. name = ‘小甲鱼’

  3. ‘鱼’ in name

  4. True
  5. ‘肥鱼’ in name

  6. False
    当下节课我们讲解 for 语句的时候,你看到 in 会不会就有了更深入的理解?!

动动手答案:
0. 视频中小甲鱼使用 if elif else 在大多数情况下效率要比全部使用 if 要高,但根据一般的统计规律,一个班的成绩一般服从正态分布,也就是说平均成绩一般集中在 70~80 分之间,因此根据统计规律,我们还可以改进下程序以提高效率。

  1. score = int(input(‘请输入一个分数:’))

  2. if 80 > score >= 60:

  3.  print('C')
    
  4. elif 90 > score >= 80:

  5.  print('B')
    
  6. elif 60 > score >= 0:

  7.  print('D')
    
  8. elif 100 >= score >= 90:

  9.  print('A')
    
  10. else:

  11. print('输入错误!')
    
  12. Python 的作者在很长一段时间不肯加入三元操作符就是怕跟C语言一样搞出国际乱码大赛,蛋疼的复杂度让初学者望而生畏,不过,如果你一旦搞清楚了三元操作符的使用技巧,或许一些比较复杂的问题反而迎刃而解。

  13. small = x if (x < y and x < z) else (y if y < z else z)

  14. #成员资格运算符
    myname = “风魔小次郎”
    print(“郎” in myname)
    print(“太郎” in myname)

#三元操作符 我的原则 : 从后向前比较和传递 , 保证最小的数传到最前面
x,y,z = 8,7,3
small3 = x if (x<y and x<z ) else (y if (y<z) else z)
print(small3)

同理 , 4个数排序的话以此类推 , 但是如果是 更多数里面找 最小的话 就不可取了 , 因为 表达式会 很麻烦 , 以后应该会求其他的办法 , 比如数组求最小值

a,b,c,d = 9,5,7,6
small4 = a if (a<b and a<c and a<d ) else (b if (b<c and b<d) else (c if (c<d) else d))
print(small4)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值