Python提供了两种基本的循环结构,循环结构的三种类型Python
目录、条件表达式二、选择结构三、循环结构两种循环结构的完整语法形式是:两种循环结构的应用:四。break和continue语句break和continue语句的几种应用:
(注:编辑器会根据文章标题自动生成目录)
一、条件表达式大多数合法的Python表达式都可以作为条件表达式使用。在选择和循环结构中,只要条件表达式的值不为假,0(或0.0,0j等。)、null值None、null list、null tuple、null set、null dictionary、null string、null range对象或其他null迭代对象,Python解释器认为等价于True。
(1)关系运算符
Python中的关系运算符可以连续使用,既减少了代码量,又符合人类的思维方式。
Print(123) #相当于12和23 true print(123)false print(132)true。在Python语法中,条件表达式中不允许使用赋值运算符“=”,避免了将关系运算符“==”误写成赋值运算符“=”所带来的麻烦。在条件表达式中使用赋值运算符“=”将引发异常,表明存在语法错误。If a=3: #赋值运算符语法错误:无效语法IF (a=3) and (b=4):语法错误:无效语法(2)逻辑运算符不允许在条件表达式中使用。
逻辑运算符and、or和not分别表示逻辑and、逻辑OR和逻辑NOT。对于and,两边的表达式必须等于True,这样整个表达式等于True。对于or,只要两边的表达式中有一个等价为真,整个表达式就等价为真;对于not,如果下面的表达式等价于False,那么整个表达式等价于True。逻辑运算符and和or具有短路求值或懒惰求值的特性。它们可能不会计算所有表达式,而只是计算必须计算的表达式的值。3和5 #整个表达式的值是最后计算的子表达式的值,5 ^ 3或5 #。因为OR是在有既定结果的情况下成立的,我们看到3不是0,后面就不计算了。0和5 # 0等价于False0或55 not [1,2,3] #非空列表等价于TrueFalse not {} #空字典等价于FalseTrue II。选择结构常见的选择结构有单分支选择结构(if表达式:语句块)和双分支选择结构(if表达式:语句块1 else:
块2)、多分支选择结构(if表达式1:block 1 elef表达式2: block 2elif表达式3: block 3else:
语句4)和嵌套分支结构,还可以构造一个跳转表来实现类似的逻辑。(注意:缩进必须正确一致。)循环结构和异常处理结构也可以有“else”子句,可以看作是选择结构的一种特殊形式。Python还提供了一个三元运算符,三元运算符可以嵌套在三元运算符形成的表达式中,可以达到类似于选择结构的效果。语法是value1 if condition else value2。
当条件表达式条件的值等于True时,表达式的值为value 1;否则,表达式的值为value2。B=6如果513 else 9 #赋值运算符的优先级很低b9 III。循环结构Python主要有两种形式的循环结构:for循环和while循环。可以嵌套多个循环,而且经常用选择结构嵌套,实现复杂的业务逻辑。两种循环结构的完整语法形式为:while条件表达式:序列或迭代对象中值的循环体[else: else子句代码块]:循环体[else: else子句代码块]。While loop一般用于难以事先确定循环次数的情况,但也可以用于循环次数确定的情况。当循环次数可以预先确定时,通常使用For loop,尤其是在枚举或遍历序列中的元素或迭代对象时。对于带else子句的循环结构,如果循环因为条件表达式无效或顺序遍历结束而自然结束,则执行else结构中的语句,但如果循环因为执行break语句而提前结束,则不执行else中的语句。两个循环结构的应用:#写一个程序,同时输出1到100之间所有能被7整除但不能被5整除的整数。对于在范围(1,101)内的I:如果i%7==0并且i%5!=0: print(i) #写个程序打印99乘法表。对于范围(1,10)中的I:对于范围(1,i 1)中的j:print( { 0 } * { 1 }={ 2 } 。format (i,j,i * j),end=) print () #打印空行IV。break和continue语句一旦执行了break语句,continue语句的作用就是提前结束这个循环,忽略continue之后的所有语句,提前进入下一个循环。break continue语句的几种应用:
显然,上面的程序1只打印了前两个字符串,程序2打印了除了两个 NULL 以外的所有其他六个字符串。
2.写一个程序,计算小于100的最大素数。
For in range (100,1,-1): if n% 2==0: continue #如果是偶数,则不需要执行下面的语句,因为对于i in range (3,int (n * * 0.5) 1,2): if n% i==0: # End内循环break
Importdate=time.localtime () #获取当前日期和时间year,month,day=date [:3] day _ month=[31,28,31,30,31,31,30,31,30,30,31] if year @ 0=0): #判断是否是闰年day _ month[1]=29 if month==1:print(day)else:print(sum(day _ month[:month-1])day)
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。