您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > Python程序设计-清华大学出版社-董付国第3章-选择与循环
第3章选择与循环3.1在表达式中常用的运算符算术运算符:+、-、*、/、//、%、**、~关系运算符:、、==、=、=、!=或,可以连续使用,如print123Trueprint123Falseprint132True测试运算符:in、notin、is、isnot逻辑运算符:and、or、not,注意短路求值位运算符:~、&、|、^、、3.2.1单分支选择结构if表达式:语句块a,b=input('Inputtwonumber:')ifab:a,b=b,aprinta,b3.2.2双分支结构if表达式:语句块1else:语句块2value1ifconditionelsevalue23.2.3多分支结构if表达式1:语句块1elif表达式2:语句块2elif表达式3:语句块3else:语句块43.2.4选择结构的嵌套if表达式1:语句块1if表达式2:语句块2else:语句块3else:if表达式4:语句块43.2.5选择结构应用例1:面试资格确认。age=24subject=计算机college=非重点if(age25andsubject==电子信息工程)or(college==重点andsubject==电子信息工程)or(age=28andsubject==计算机):print(恭喜,你已获得我公司的面试机会!)else:print(抱歉,你未达到面试要求)3.2.5选择结构应用例2:用户输入若干个分数,求所有分数的平均分。每输入一个分数后询问是否继续输入下一个分数,回答“yes”就继续输入下一个分数,回答“no”就停止输入分数。3.2.5选择结构应用importtypesendFlag='yes's=0.0whileendFlag.lower()=='yes':x=input(请输入一个整数:)iftype(x)==types.IntTypeandx=0:s=s+xelse:print'不是数字'endFlag=raw_input('继续输入?(yesorno)')print'整数之和=',s3.3循环结构Python提供了两种基本的循环结构语句——while语句、for语句。while循环一般用于循环次数难以提前确定的情况,也可以用于循环次数确定的情况;for循环一般用于循环次数可以提前确定的情况,尤其是用于枚举序列或迭代对象中的元素;一般优先考虑使用for循环。相同或不同的循环结构之间都可以互相嵌套,实现更为复杂的逻辑。3.3循环结构语法while表达式:循环体for取值in序列或迭代对象:循环体3.3循环结构语法while循环和for循环都可以带else子句,当循环自然结束时(不是因为执行了break而结束)执行else结构中的语句。while表达式:循环体else:else子句for取值in序列或迭代对象:循环体else:else子句3.4break和continue语句break语句在while循环和for循环中都可以使用,一般放在if选择结构中,一旦break语句被执行,将使得整个循环提前结束。continue语句的作用是终止当前循环,并忽略continue之后的语句,然后回到循环的顶端,提前进入下一次循环。除非break语句让代码更简单或更清晰,否则不要轻易使用。3.4break和continue语句警惕continue可能带来的问题:i=0whilei10:ifi%2==0:continueprintii+=1永不结束的死循环,Ctrl+C强行终止。3.4break和continue语句这样子就不会有问题foriinrange(10):ifi%2==0:continueprinti,135793.4break和continue语句foriinrange(10):ifi%2==0:i+=1#没有用呀没有用continueprinti,135793.4break和continue语句每次进入循环时的i已经不再是上一次的i,所以修改其值并不会影响循环的执行。foriinrange(7):printid(i),':',i10416692:010416680:110416668:210416656:310416644:410416632:510416620:63.5综合运用例1:计算1+2+3+…+100的值。s=0foriinrange(1,101):s=s+iprint'1+2+3+…+100=',sprint'1+2+3+…+100=',sum(range(1,101))3.5综合运用例2:输出序列中的元素。a_list=['a','b','mpilgrim','z','example']fori,vinenumerate(a_list):print'列表的第',i+1,'个元素是:',v3.5综合运用例3:求1~100之间能被7整除,但不能同时被5整除的所有整数。foriinrange(1,101):ifi%7==0andi%5!=0:printi3.5综合运用例4:输出“水仙花数”。所谓水仙花数是指1个3位的十进制数,其各位数字的立方和等于该数本身。例如:153是水仙花数,因为153=13+53+33。foriinrange(100,1000):ge=i%10shi=i//10%10bai=i//100ifge**3+shi**3+bai**3==i:printi3.5综合运用例5:求平均分。score=[70,90,78,85,97,94,65,80]s=0foriinscore:s+=iprints*1.0/len(score)printsum(score)*1.0/len(score)3.5综合运用例6:打印九九乘法表。foriinrange(1,10):forjinrange(1,i+1):printi,'*',j,'=',i*j,'\t',print'\n'3.5综合运用例7:求200以内能被17整除的最大正整数。foriinrange(200,0,-1):ifi%17==0:printibreak3.5综合运用例8:判断一个数是否为素数。n=input(Inputainteger:)Inputainteger:17m=int(math.sqrt(n)+1)foriinrange(2,m):ifn%i==0:print'No'breakelse:print'Yes'
本文标题:Python程序设计-清华大学出版社-董付国第3章-选择与循环
链接地址:https://www.777doc.com/doc-3660921 .html