Python

条件判断语句

  1. if 语句
if expression:
		code
条件表达式expression是一个布尔表达式,为True时,执行code
expression可以通过逻辑运算(and/or/not)实现多重判断
  1. if-else语句
if expression:
	code1
else:
	code2
if与else搭配使用,当expression为True时,执行code1;当expression为False时,执行code2
note:
	a. if语句内部的code部分可嵌套if,继续进行条件判断;
	b. python使用缩进标记代码边界块,if语句需要注意
  1. if-elif-else语句
if expression1:
	code1
elif expression2:
	code2
...
elif expressionN;
	codeN
else:
	code0
elif即为else if
  1. assert关键词
assert expression
当expression为False时,程序抛错终止
可用于测试程序运行结果的对错,出错即终止程序

循环语句

python中的循环语句包括while和for

  1. while循环
while expression:
	code1
expression也是一个为布尔表达式,expression==True时,程序循环执行,直到出现False;
expression可省略,则相当于expression == True,程序一直循环执行,可通过内部控制终止,如break
expression为0时,expression=False;为非零整数时,expression=True
expression可以是字符串、列表或其他序列,为空时,expression=False,否则为True
  1. while-else循环
while expression:
	code1
else:
	code2
正常执行完while循环体后执行else;若code1内有跳出循环的语句,如break,则不再执行else
  1. for循环
    for循环是迭代循环,可遍历任何有序序列或可迭代对象,如str, list, tuple, dict
for 迭代变量 in 可迭代对象:
	code
  1. for-else循环
for 迭代变量 in 可迭代对象:
	code1
else:
	code2
类似于while-else,正常执行完for循环后,执行else
  1. range()函数
    range([start=0, ]end[, step=1])
    用于生成一个从start到stop,间隔为1的数据序列,一般与for循环结合使用;包含start,但不包含end;其中,start和step是可选参数,默认值为start=0,step=1
  2. enumerate()函数
    enumerate(sequence, [start=0])
    sequence是一个序列、迭代器或其他支持迭代对象,可指定下标的起始位置;返回一个枚举对象,包括索引值和当前迭代元素,一般与for循环使用
  3. break语句
    用于跳出当前最近一层循环,即使循环条件依然成立
  4. continue语句
    用于终止本次循环的执行,直接进入下一次循环
    与break不同,continue并不会终止循环的执行,只是放弃本轮而直接进入下一轮循环
  5. pass语句
    相当于一个占位符,是一个空语句,可用于暂时不确定要执行何种代码的位置,保证代码结构的完整性
  6. 推导式
    列表表达式
[expression for value in collection (if condition)]

等价于

for value in colletion:
	if condition:
		expression

其中,if可省略,且不能使用else
类似的还有元组表达式、字典表达式、集合表达式等

练习题

  1. 查找那些既可以被7整除又可以被5整除的数字,介于1500和2700之间。
# 循环
nums = []
for num in range(1500, 2700):
    if num % 5 == 0 and num % 7 == 0:
        nums.append(num)
# 列表表达式
nums = [num for num in range(1500, 2700) if num % 5 == 0 and num % 7 == 0]
  1. 龟兔赛跑游戏
    问题描述
v1 = int(input('Please input the speed of rabbit:'))
v2 = int(input('Please input the speed of tortoise:'))
t = int(input('Please input the distance between them:'))
s = int(input('Please input the time rabbit wastes for tortoise:'))
l = int(input('Please input the distance of track:'))
l1, l2 = 0, 0
while l1 < l and l2 < l:
    if l1-l2 < t:
        l1 += v1
        l2 += v2
    else:
        l2 += v2 * s
if l1 > l2:
    print('R')
elif l1 < l2:
    print('T')
else:
    print('D')
print(int(l/v2))