1.0 assert 关键词
assert这个关键词我们称之为“断言”,当这个关键词后边的条件为 False 时,程序自动崩溃并抛出AssertionError的异常。
my_list = ['lsgogroup']
my_list.pop(0)
assert len(my_list) > 0
# AssertionError
2.0 while 循环
如果布尔表达式不带有<、>、==、!=、in、not in等运算符,仅仅给出数值之类的条件,
也是可以的。当while后写入一个非零整数时,视为真值,执行循环体;写入0时,视为假值,不执行循环体。
也可以写入str、list或任何序列,长度非零则视为真值,执行循环体;否则视为假值,不执行循环体。
3.0 while - else 循环
当while循环正常执行完的情况下,执行else输出,如果while循环中执行了跳出循环的语句,比如 break,将不执行else代码块的内容。
count = 0
while count < 5:
print("%d is less than 5" % count)
count = count + 1
else:
print("%d is not less than 5" % count)
# 0 is less than 5
# 1 is less than 5
# 2 is less than 5
# 3 is less than 5
# 4 is less than 5
# 5 is not less than 5
4.0 for - else 循环
当for循环正常执行完的情况下,执行else输出,如果for循环中执行了跳出循环的语句,比如 break,
将不执行else代码块的内容,与while - else语句一样。
5.0 enumerate()函数
enumerate(sequence, [start=0])
sequence -- 一个序列、迭代器或其他支持迭代对象。
start -- 下标起始位置。
返回 enumerate(枚举) 对象
练习题1
for i in range(1500,2700):
if (i%35==0):
print(i)
练习题 2
#test2 龟兔赛跑
list_1=[]
v1,v2,t,s,l=input("请依次输入v1,v2,t,s,l(空格隔开)其中(v1,v2< =100;t< =300;s< =10;l< =10000且为v1,v2的公倍数)").split()
list=[v1,v2,t,s,l]
for i in list: #将输入的字符串转为正整数并读入新列表
data=int(i)
list_1.append(data)
v_1,v_2,add,ts,lu=list_1 #依次取出数据
tt=lu/v_2 #乌龟跑完全程所用时间
t_2=0
t_1=0
lu_1=0
flag=1
while flag:
t_1 = t_1+1
t_2 = t_2 + 1
lu_1 = t_2 * v_1
if lu_1 >= lu:
flag=0
elif (lu_1-t_2*v_2)>=add:
t_1=t_1+ts
if t_1 > tt: #根据时间判断输赢
print("T")
print(tt)
elif t_1 < tt:
print("R")
print(t_1)
else:
print("D")
print(t_1)