Task02 条件循环结构
程序员文章站
2022-07-14 23:20:41
...
- 条件结构
if、if-else、if-elif-else,if 里面也可以实行嵌套,但要清楚else的对应位置。
assert 后跟判断语句,如果判断值为假,则返回AssertionError,这个叫断言。 - 循环结构
while 循环:后跟表达式为真或1时执行循环,表达式为假或值为0终止循环。可以有while-else结构。
for循环:通常用于可迭代的变量或者指定数字范围。
range([start,] stop[,step=1]) #方括号内为可选项,包含左端点,不包含右端点。
for i in range(10):
print(i)
a = 'I love you'
for i in a:
print(i, end=' ')
b = ['Mary', 'Bob', 'Tom', 'Tony', 'Lucy']
for i in b:
print(i)
dict = {'a':1, 'b':2, 'c':3, 'd':4}
for key, value in dict.items():
print(key, value)
for key in dict.keys():
print(key)
break、continue、pass:
break终止本层循环;continue终止当前循环并开始下一轮循环;pass空语句,起占位作用。
推导式:列表、元组、字典、集合推导式,写法更简便。
练习:
- 编写一个Python程序来查找那些可以被7和5整除的数字,介于1500和2700之间。
nums = [i for i in range(1500, 2700) if i % 7 == 0 and i % 5 == 0]
print(nums)
- 龟兔赛跑游戏
v1, v2, t, s, l = map(int, input('请输入兔子速度v1、乌龟速度v2、兔子对应的t、s值以及总长度l,用空格隔开:').split(' '))
#print(l)
i = 0
j = 0
s1 = 0
s2 = 0
# i为总时间,j计算兔子停留的次数
while s1 < l and s2 < l:
if s1 - s2 >= t:
s1 = v1*i
s2 = v2 * (s+i)
i = i + s
j = j + 1
else:
i = i + 1
s1 = v1 * (i -j * s)
s2 = v2 * i
else:
max = s1 if s1 > s2 else s2
if s1 > s2:
print('R')
elif s1 < s2:
print('T')
else:
print('D')
print(i)