python流程控制语句
Posted lanist
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python流程控制语句相关的知识,希望对你有一定的参考价值。
1.条件判断
Python程序语言制定任何非0和非空(null)值为true,0或者null为false。‘
其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。条件不成立时,,执行else语句。
if语句
if 判断条件: 执行语句…… else: 执行语句……
判断小于5的数的奇偶
#AUTHER:LANIST a = 1 while a<5: if(a%2 == 0): print(a,"is even") else: print(a,"is odd") a+=1
if 语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。
当判断条件为多个值时,可以使用以下形式
if 判断条件1: 执行语句1…… elif 判断条件2: 执行语句2…… elif 判断条件3: 执行语句3…… else: 执行语句4……
由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现,如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。
and 和 or 的优先级低于>(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比与或要优先判断。
#AUTHER:LANIST num = 9 if num >= 0 and num <= 10: # 判断值是否在0~10之间 print(‘hello‘)# 输出结果: hello num1 = 10 if num1 < 0 or num1 > 10: # 判断值是否在小于0或大于10 print(‘hello‘) else: print(‘undefine‘)# 输出结果: undefine num2 = 8# 判断值是否在0~5或者10~15之间 if (num2 >= 0 and num2 <= 5) or (num2 >= 10 and num2 <= 15): print(‘hello‘) else: print(‘undefine‘)
2.循环语句
Python提供了for循环和while循环
while循环 | 在给定判断条件为true时,执行循环体,否则退出循环体 |
for循环 | 重复执行语句 |
for嵌套在while中循环 | 嵌套 |
循环控制语句可以更改语句执行的顺序。Python支持以下循环控制语句:
break语句 | 在执行过程中终止循环,并跳出整个循环 |
continue语句 | 终止当前循环,跳出该次循环,执行下一次循环 |
pass语句 | pass是空语句,是为了保持程序结构的完整性 |
2.1while循环
在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:
执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。
当判断条件假false时,循环结束。
while 循环条件: 执行语句
判断列表中的数的奇偶
#AUTHER:LANIST numbers = [12,37,5,42,8,3] even=[] odd=[] while len(numbers)>0:
#取出列表的最后一个元素 number=numbers.pop() if number%2==0: even.append(number) else: odd.append(number) print("偶数为:",even," ","奇数为:",odd)
偶数为: [8, 42, 12]
奇数为: [3, 5, 37]
#AUTHER:LANIST
求偶数
a=1 while a<8: a+=1 if a%2>0: continue print(a)
循环使用 else 语句
在 python 中,while … else 在循环条件为 false 时执行 else 语句块:
#AUTHER:LANIST count = 0 while count < 5: print(count,"is less than 5") count = count + 1 else: print(count,"is not less than 5 ") 结果:
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
2.2for循环
for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
for语句
for var in 列表或数组: statements(s)
例子:
#打印到1~10 for i in range(1,10): print(i)
fruits = [‘banana‘,‘apple‘,‘mange‘] for fruite in fruits: print("当前水果",fruite)
另外一种执行循环的遍历方式是通过索引,如下实例:
#AUTHER:LANIST fruits=["apple","pear","melon"] #len()为求列表的长度 range(),为1-3 for index in range(len(fruits)): print("当前水果:",fruits[index])
函数 len() 返回列表的长度,即元素的个数。 range返回一个序列的数。
在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的,这种中断则不会执行else语句)的情况下执行,while … else 也是一样。
求1-20的质数
#AUTHER:LANIST for num in range(1,30): #range(2,3)取不到3,break跳出到第一个for循环 for i in range(2,num): if num%i == 0: break #当执行完第二层的for循环后,没有break,就输出质数 else: print("质数:%s" %num)
2.3循环嵌套
Python 语言允许在一个循环体里面嵌入另一个循环。
你可以在循环体内嵌入其他的循环体,如在while循环中可以嵌入for循环, 反之,你可以在for循环中嵌入while循环,在while中嵌套if语句
猜年龄
#AUTHER:LANIST age=48 times=0 while times<3: num=input(" 请输入我的年龄:") #判断是否为数字 if not num.isdigit(): print("请输入数字!") continue num1=int(num) if num1==age: print("恭喜你猜中了") break elif num1>age: print("猜大了") else: print("猜小了") times +=1 else: print("很遗憾,挑战失败")
乘法口诀
#AUTHER:LANIST #乘法口诀 for i in range(1,10): for j in range(1,i+1): print("%sx%s=%s" %(i,j,i*j),end=" ")
#每一行打印完,换行 print()
以上是关于python流程控制语句的主要内容,如果未能解决你的问题,请参考以下文章