Python的条件循环结构
## 1.条件语句
😂😂😂😂***用作布尔表达式时,下面的值都将被解释器视为假:
False None 0 "" () {} [] 其他值都被视为真.
换而言之,标准值False和None、各种类型(包括浮点数、复数等)的数值0、空序列(如空字符串、空元组和空列表)以及空映射(如字典)都被视为假,而其他各种值都被视为真,包括特殊值True。***
## 2.断言
💖💖💖***if语句有一个很有用的亲戚,因为让程序在错误条件出现时立即崩溃胜过以后再崩溃。基本上,你可要求某些条件得到满足(如核实函数参数满足要求或为出事测试和调试提供帮助),为此可在语句中使用关键字assert。***
```python
firstblood = 1
assert 0< firstblood <10
firstblood = -1
assert 0<firstblood<10
File "E:/pycharm/PyCharm 2019.3.3/new/firstpy.py", line 4, in <module>
assert 0<firstblood<10
AssertionError
✔✔当assert后面的条件为真时,程序正常运行当assert后面的条件为假时,输出错误信息。
3.循环语句
3.1 if语句😂🎉
Python 编程中 if 语句用于控制程序的执行,基本形式为:
if 判断条件:
执行语句
else:
执行语句
Python中使用缩进代替c语言中的大括号,来告诉程序所执行的内容。
✨✨✨
其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。
else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句。
当判断两个数据是否相等时,使用“==”来表示,“=”表示赋值。
当进行多次判断时,在中间添加“elif”语句。🎶🎶🎶🎶
3.2 while语句
🤷♂️
Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:
while 判断条件:
执行语句
😍
执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。
👌👌
当判断条件假false时,循环结束。
while 语句时还有另外两个重要的命令 continue,break 来跳过循环,continue 用于跳过该次循环,break 则是用于退出循环,此外"判断条件"还可以是个常值,表示循环必定成立。
可在while语句后面加上else语句,else 中的语句会在循环正常执行完(即 while 不是通过 break 跳出而中断的)的情况下执行。
4.Python中break\continue\pass区分
😉😉😉😉
1、break:跳出循环,不再执行
Python break语句,就像在C语言中,打破了最小封闭for或while循环。
break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。
break语句用在while和for循环中。
如果您使用嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码。
😎😎😎😎
2、continue:跳出本次循环,执行下一次
Python continue 语句跳出本次循环,而break跳出整个循环。
continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。
😃😃😃😃
3.continue语句用在while和for循环中。
continue是循环到某个点的时候,执行continue这里的某些操作,执行完了之后,继续执行满足条件的这一层循环需要做的事情,不会终止这一层循环(只会跳出这一次)。
😜😜😜😜
4、pass:不做任何事情,只起到占位的作用
5.课后练习
🌹🌹🌹🌹
x=(i for i in range(1500,2700) if i%7==0 and i%5==0)
print(*(j for j in x))
1505 1540 1575 1610 1645 1680 1715 1750 1785 1820 1855 1890 1925 1960 1995 2030 2065 2100 2135 2170 2205 2240 2275 2310 2345 2380 2415 2450 2485 2520 2555 2590 2625 2660 2695
🌹🌹🌹🌹
龟兔赛跑游戏
话说这个世界上有各种各样的兔子和乌龟,但是研究发现,所有的兔子和乌龟都有一个共同的特点——喜欢赛跑。
于是世界上各个角落都不断在发生着乌龟和兔子的比赛,小华对此很感兴趣,于是决定研究不同兔 子和乌龟的赛
跑。他发现,兔子虽然跑比乌龟快,但它们有众所周知的毛病——骄傲且懒惰,于是在与乌龟的比赛中,一旦任一 秒结束后兔子发现自己领先t米或以
上,它们就会停下来休息s秒。对于不同的兔子,t,s的数值是不同的,但是所 有的乌龟却是一致——它们不到终点决不停止。
然而有些比赛相当漫长,全程观看会耗费大量时间,而小华发现只要在每场比赛开始后记录下兔子和乌龟的数据 ——兔子的速度v1(表示每秒兔子能跑v1
米),乌龟的速度v2,以及兔子对应的t,s值,以及赛道的长度l——就能
预测出比赛的结果。但是小华很懒,不想通过手工计算推测出比赛的结果,于是他找 到了你——清华大学计算机系
的高才生——请求帮助,请你写一个程序,对于输入的一场比赛的数据v1,v2,t,s,l,预测该场比赛的结果。
data=list(map(int,input().split())) #输入数据
v1=data[0] #兔子的速度v1
v2=data[1] #乌龟的速度v2
t=data[2] #兔子领先距离t米
s=data[3] #兔子休息时间s秒
l=data[4] #赛道长度l
Rs = 0;Ts = 0;i = 0; #Rs是兔子的运动距离;Ts是乌龟的运动距离;i是运动时间
while True:
if Rs <l and Ts < l: #判断兔子和乌龟是否到达终点,若未到达计算兔子和乌龟的运动距离
Rs += v1
Ts += v2
i=i+1
if Rs == l or Ts == l: #若兔子或者乌龟有达到终点,则程序终止
break;
if Rs - Ts >= t: #若兔子超过乌龟t米,则兔子的运动距离减去休息时间所产生的距离
Rs -= v1 * s
if Rs > Ts:
print("R\n")
if Ts > Rs:
print("T\n")
if Rs == Ts:
print("D\n")
print(i)