Python编程入门-第四章 流程控制 -学习笔记

来源:互联网 发布:手动抢网络 编辑:程序博客网 时间:2024/04/29 05:21

第四章 流程控制

一、布尔逻辑
*在Python中,用True和False表示真值。一般使用4个主要的逻辑运算符来组合形成布尔值:not\and\or\==。
如:
False==False #True
True==False #False
True or False #True
True and False #False
not False #True
not True #False

二、if语句
1、if/else语句

pwd=input('What is the password')if pwd=='apple':    print('Logging on...')else:    print('Incorrect password.')print('All Done!')

*在Python中,必须使用缩进来指出语句所属的代码块。同一代码块中的各行语句必须是一样的缩进。

2、if/elif语句
其实就是if—else if的含义,如某公司提供如下儿童优惠票价:不超过2岁的儿童免费;2岁到13岁的儿童打半折;13以上的全票;代码如下:

ageStr=input("Please input your child's age:")age=int(ageStr)if age<=2:    print('您的孩子可以免票!')elif 2<age<=13:    print('您的孩子可以五折购票!')else:    print('您孩子已超过13岁,须购全票!')

3、条件表达式

#除非可以比一般的if/else语句更方便简单才用name=input('what is your name?')reply='we have the same name:)' if name=='Jack' else 'Hello '+name

三、循环
1、for循环
一般而言for循环重复执行给定代码块指定的次数,如下代码:

for i in range(10):    print (i)

其中range(10)会从0开始直到9结束,也可以用range(0,10);如果是range(5,11)则为5开始直到10结束。实际上range函数还有第三个参数,设置步长,前述步长默认为1;如果对于range(0,10,2),则步长为2,输出为0,2,4,6,8。如果要倒序排列:range(10,0,-1),则输出为10到1。

2、while循环

i=0while i<10:    print (i)    i=i+1

*for循环和while循环解决相同问题

#计算阶乘number=int(input('please input a number below 100:'))#使用for循环answerfor=1for i in range(1,number+1):    answerfor=answerfor*iprint('answerfor='+str(answerfor))#使用while循环answerwhile=1while number>=1:    answerwhile=answerwhile*number    number=number-1print('answerwhile='+str(answerwhile))
#计算用户输入的数字的总和n=int(input('请输入数字的数量:'))#使用for循环sumfor=0for i in range(n):    sumfor=sumfor+int(input('请输入第'+str(i+1)+'个数字:'))print('for循环的总和计算为:'+str(sumfor))#使用while循环sumwhile=0j=0while j<n:    sumwhile=sumwhile+int(input('请输入第'+str(j+1)+'个数字:'))    j=j+1print('while循环的总和计算为:'+str(sumwhile))

针对上例,如果事先不告知输入数据的数量,则可以通过特殊输入判定输入结束,比如设置输入为’done’的时候则不再输入,这种情况比较方便的选择是使用while循环语句。

sum=0numberstring=input('please input a number(or done)')while(numberstring!='done'):    sum=sum+int(numberstring)    print('当前输入数据总和为:'+str(sum))    numberstring=input('please input a number(or done)')print('输入数据总和为:'+str(sum))

3、跳出循环和语句块
*break语句:直接跳出整个循环
*continue语句:跳出本次循环,执行下一次迭代

#对于上述当输入done时结束输入的例子#使用break会更加便捷sum=0while True:    numberstring=input('请输入一个数字(或者"done")')    if numberstring=='done':        break    sum=sum+int(numberstring)    print('当前输入数据总和为:'+str(sum))print('输入数据总和为:'+str(sum))
#continue的例子,计算100以内偶数之和sum=0for i in range(101):    if(i%2==0):        continue    sum=sum+iprint('100以内偶数和为:'+str(sum))

4、循环中的循环

#打印九九乘法表for row in range(1,10):     for col in range(1,10):         prod=row*col         if prod<10:             print(' ',end='')         print(row*col,' ',end='')     print()
0 0
原创粉丝点击