条件、循环结构
03条件语句
笔记
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/d3d46b515b6e6cfb5323d971f1e47968.png)
- 条件表达式可以通过布尔操作符
and
,or
和not
实现多重条件判断。 elif
等价于else if。可以有多个elif
语句- 每一个条件之后都要有
:
,缩进的语句视作为代码块。 assert
后条件为False程序自动抛出AssertionError的异常。input()
获取的信息默认为string类型,即字符串类型。pop
函数主要是用于删除列表中的数据。而其删除值时会返回删除的值。默认认为删除列表的最后一项数据。(pop中的参数为数据所在列表中的位置,从左往右,第一个索引值为0)。详情见:4.删除列表中元素
04循环语句
笔记
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/86a1ceab0fca6ad356117199769823c1.png)
while
是条件循环,后的布尔表达式可以无运算符,数值非0为真,字符串长度非0为真for
是迭代循环,将可迭代对象遍历,每次循环,迭代变量被设置为可迭代对象的当前元素,提供给代码块使用。while-else
,for-else
只有当循环正常执行完后才执行else中的语句,若循环中执行了跳出循环的语句(如break
)将不再执行else中的语句range([start=0,]stop[,step=1])
用于生成序列,生成的不包含stop的值。(中括号表示可有可无)enumerate(sequence[, start=0])
枚举迭代对象中的元素,赋予的开始的索引值由start的值确定。break
可以跳出当前所在层的循环。continue
终止本轮循环并开始下一轮循环。pass
:不做任何事,只起到占位作用。因为在需要有语句的地方不写任何语句,解释器会提示出错。- 切片操作
consequence[start_index: end_index: step]
例如:str[a:b]
,a表示开始截取的位置,b表示截取结束的位置,步长默认为1。 import
导入模块,为了实现该库中已有程序的功能,用法:import module
放在程序开头使用。next(iterator[, default])
返回迭代器的下一个项目。- 相关例子详情见此
练习
- 编写一个Python程序来查找那些既可以被7整除又可以被5整除的数字,介于1500和2700之间。
list=range(1500,2701)
x= [i for i in list if i % 7 == 0 and i % 5 == 0]
print(x)
- 龟兔赛跑游戏
zhi=input('请依次输入v1,v2,t,s,l的值:').split()
zhi=[int(i) for i in zhi]
v1,v2,t,s,l=zhi
shijian=0
cishu=0
shijian_R=0
shijian_RP=0
lucheng_R=0
shijian_T=l/v2
while shijian < shijian_T and lucheng_R < l:
juli = v1 * shijian_RP - v2 * shijian
if juli >= t:
cishu +=1
shijian += 1
shijian_RP = shijian - s * cishu
lucheng_R = shijian_RP * v1
shijian_R = l/v1 + s * cishu
if shijian_R < shijian_T:
print("R")
print(shijian_R)
elif shijian_R > shijian_T:
print("T")
print(shijian_T)
else:
print("D")
print(shijian_T)