Python学习,第007、008讲:了不起的分支和循环2

本文深入探讨Python中的三目运算符、成员资格运算符、变量交换等核心概念,通过实例解析,帮助读者掌握高效编程技巧,提升代码质量和编程效率。

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

知识点

1. 三目运算符:

使用 if else 实现三目运算符(条件运算符)的格式如下:

exp1 if contion else exp2

condition 是判断条件,exp1 和 exp2 是两个表达式。如果 condition 成立(结果为真),就执行 exp1,并把 exp1 的结果作为整个表达式的结果;如果 condition 不成立(结果为假),就执行 exp2,并把 exp2 的结果作为整个表达式的结果。

 

 

测试题:

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


1. assert 的作用是什么?
×  插入?

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


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

>>> x = 1
>>> y = 2
>>> z = 3
>>> x , y , z =y , z , x
>>> x
2
>>> y
3
>>> z
1



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

答:

这其实是 Python 的作者还没有为 Python 加入三元操作符之前,Python 社区的小伙伴们灵活的使用 and 和 or  搭配来实现三元操作符的功能,这里边有涉及到列表和切片的知识。

 


4. 你听说过成员资格运算符吗?
  答:

Python 有一个成员资格运算符:in,用于检查一个值是否在序列中,如果在序列中返回 True,否则返回 False。
  
例如:

  1. >>> name = '小甲鱼'
  2. >>> '鱼' in name
  3. True
  4. >>> '肥鱼' in name
  5. False

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

题目备忘:按照 100 分制,90 分以上成绩为 A,80 到 90 为 B,60 到 80 为 C,60 以下为 D,写一个程序,当用户输入分数,自动转换为ABCD 的形式打印。
ans = int(input("学生的成绩:"))

if ans > 90:
    print ('A')
else:
    if ans > 80:
         print ('B')
    else:
        if ans > 60 :
            print ('C ')
        else:
            print ('D')



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

请将以下代码修改为三元操作符实现:

  1. x, y, z = 6, 5, 4
  2. if x < y:
  3.     small = x
  4.     if z < small:
  5.         small = z
  6. elif y < z:
  7.     small = y
  8. else:
  9.     small = z

复制代码

>>> x, y, z = 6, 5, 4
>>> small = x if (x < y )and (x < z) else (y if y < z else z)
>>> small
4

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值