零基础入门学习Python(7)-了不起的分支和循环1,2

elif是else…if 的缩写
体现了Python的简洁性和可读性

Python可以有效地避免"悬挂else"

缩进是Python的灵魂,缩进的严格要求使得Python的代码非常精简且有层次,这种强制的规范使得代码必须被正确的对齐。即让程序必须在编程的时候就非常确定else是属于哪个if,而不存在摸棱两可的情况。

条件表达式(三元操作符)

有三个操作数
语法x if 条件 else y

if x < y:
	small = x
else:
	small = y

等同于

small = x if x < y else y

断言(assert)

  • assert这个关键字我们称为“断言”,当这个关键字后面的条件为假时,程序自动崩溃并抛出AssertionError的异常
  • 一般来说我们可以使用assert在程序中置入检查点,当需要确保程序中的某个条件一定为真才能让程序正常工作的话,assert关键字就非常有用了
    在这里插入图片描述

Task

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

  2. assert 的作用是什么?
    判断后面的程序真假

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

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

  5. 你听说过成员资格运算符吗?

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

>>> name = '小甲鱼'
>>> '鱼' in name
True
>>> '肥鱼' in name
False
  1. 视频中小甲鱼使用 if-elif-else 在大多数情况下效率要比全部使用 if 要高,但根据一般的统计规律,一个班的成绩一般服从正态分布,也就是说平均成绩一般集中在 70~80 分之间,因此根据统计规律,我们还可以改进下程序以提高效率。
    题目备忘:按照 100 分制,90 分以上成绩为 A,80 到 90 为 B,60 到 80 为 C,60 以下为 D,写一个程序,当用户输入分数,自动转换为ABCD 的形式打印。
score = int(input('请输入一个分数:'))
if 80 > score >= 60:
	print('C')
elif 100 >= score >=90:
	print('A')
elif  90 > socre >= 80:
	print('B')
elif 60 > score >= 0:
		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
small = x if(x < y and x < z) else (y if y < z else z)

猜你喜欢

转载自blog.csdn.net/qq_44520665/article/details/112699900