Task02:条件与循环

条件

条件语句的执行过程

Created with Raphaël 2.2.0 开始 条件 条件代码 继续执行接下来的代码... yes no

if语句

Python中if语句的一般形式如下所示:

if condition_1:
    statement_block_1
elif condition_2:
    statement_block_2
else:
    statement_block_3
#如果 "condition_1" 为 True 将执行 "statement_block_1" 块语句
#如果 "condition_1" 为False,将判断 "condition_2"
#如果"condition_2" 为 True 将执行 "statement_block_2" 块语句
#如果 "condition_2" 为False,将执行"statement_block_3"块语句

Python 中用 elif 代替了 else if,所以if语句的关键字为:if – elif – else。
注意:

  • 每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。
  • 使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
  • 在Python中没有switch – case语句。

体会:相比C语言,PythoPythonn的代码更加容易阅读,层次分明,就像小甲鱼说的那样,Python代码更加简练。

assert 关键词

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

三元操作符

例1

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)

注:这两个代码等同,其实就是求最小数
逻辑是:
1.如果x是最小的则输出x
2.如果x不是最小,则排除x,比较y,z,较小的输出

例2

(x < y and [x] or [y])[0] 实现什么样的功能?
解答:
这个问题很有意思,
首先,优先级:not and or
其次,

>>>[x]=[12]
>>> [x]
[12]
>>> [x][0]
12
>>> 

最后,
首先计算x<y,如果是True,即True and [x]为[x],[x] or [y]=[x],则[x][0]=x(输出列表的第一个元素);
如果x<y是False,即False and [x]=False,False or [y]=[y],[y][0]=y。
实现的功能是x if x < y else y,即三元操作。
而(x < y and [x] or [y])[0]为何不采用x < y and x or y
是因为如果x=0,y>0时,x < y and x =0,而使之执行or操作,结果为y,
使结果出错,故而采用列表的形式。

循环语句

while语句

注意冒号和缩进。另外,在 Python 中没有 do…while 循环。
例1:计算1加到100的和

n = 100
 
sum = 0
counter = 1
while counter <= n:
    sum = sum + counter
    counter += 1
 
print("1 到 %d 之和为: %d" % (n,sum))

注:%d为占位符,在字符串格式化中学到。
例2:无限循环

flag = 1
while (flag): 
	print ('I love LSGO!')
print ("NCEPU")

注意:无限循环你可以使用 CTRL+C 来中断循环。

for语句

Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串
for循环的一般格式如下:

for <variable> in <sequence>:
    <statements>
else:
    <statements>

break,continue 语句

在这里插入图片描述

pass 语句

Python pass是空语句,是为了保持程序结构的完整性。
pass 不做任何事情,一般用做占位语句,例:

>>>while True:
...     pass  # 等待键盘中断 (Ctrl+C)

range函数

>>>for i in range(-10, -100, -30) :
    print(i)
 
    
-10
-40
-70

注意:
前面两个参数是范围,第三个参数是步长,特别注意,不包括-100(第二个参数)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值