python 学习记录-流程控制

1、 条件控制

在这里插入图片描述
注:and和or优先级低于>、<和==判断符号。

#输入年份判断是否闰年
#coding=utf-8
year = int(raw_input("Please input year:"))
#1、非整百年:能被4整除的为闰年。(如2004年就是闰年,2001年不是闰年)
#2、整百年:能被400整除的是闰年。(如2000年是闰年,1900年不是闰年)
if (year%400==0 and year%100==0) or (year%4==0 and year%100!=0):
    print "%d is 闰年" %year  #整型用%d
    if year%400==0:
        print "%d is 世纪闰年" %year
else:
    print "%d is not 闰年" %year
#输入x
x=int(raw_input("Please input x:"))
#输入y
y=int(raw_input("Please input y:"))
#判断x和y值范围
if x>60 and y>60:
    print "x and y are >60"
elif x>60 or y>60:
    print "x or y is >60"
else:
    print "x and y are <=60"

2、循环语句

while语句

while 判断条件(condition):
    执行语句(statements)
#计算1到100总和
#coding=utf-8
i=sum=0
while(i<100):
    i+=1
    sum+=i
print sum

无限循环:通过设置条件表达式永远不为 false 来实现无限循环,如下:

#coding=utf-8
flag = 1 
while (flag): print ('HELLO') 
print ("Good bye!")

执行结果(无限输出HELLO,按ctrl+C可强制结束):
在这里插入图片描述
contiune、break和else
break 语句可以跳出 for 和 while 的循环体。从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。
continue 语句跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
else当条件语句为 false 时执行 else 的语句块

#coding=utf-8
i=0
while i<10:
    i+=1
    #如果i不能被2整除,继续执行下一个循环
    if i%2!=0:
        continue
    #如果i>7,结束本次循环
    elif i>7:
        break
    else:
        print i

执行结果:
在这里插入图片描述
实现输入数值的连续运算:


#coding=utf-8
#实现计算方法一
#输入a
a=float(raw_input("input a:"))
while 1:
	#输入运算符号
    b=raw_input("input operator:")
    #输入c
    c=float(raw_input("input c:"))
    #如果输入的是+,执行a+c
    if b=="+":
        a=a+c
        print a
    #如果输入的是-,执行a-c
    elif b=="-":
        a=a-c
        print a
    #如果输入的是*,执行a*c
    elif b=="*":
        a=a*c
        print a
    #如果输入的是/,执行a/c
    elif b=="/":
        a=a/c
        print a
    ##如果输入运算符错误提示
    else:
        print "Input error.Please input as:+-*/"
        break

执行结果:
在这里插入图片描述

#coding=utf-8
#实现计算方法二
#输入a
a=float(raw_input("input a:"))
while 1:
	#输入运算符
    b=raw_input("input operator:")
    #输入c
    c=float(raw_input("input c:"))
    #运算符和计算操作放入字典
    result={"+":a+c,"-":a-c,"*":a*c, "/":a/c}
    #根据输入的运算符获取输入符号的表达式,value
    a=result.get(b)
    print a

for循环
在这里插入图片描述
for循环的一般格式如下:

for <variable> in <sequence>:
    <statements>
else:
    <statements>

for循环可以遍历任何序列的项目,如一个列表、元组或
者一个字符串,eg:

list=['a','b','c','d']
for i in list:
    print i

执行结果:
在这里插入图片描述
通过索引遍历

#range() 函数可创建一个整数列表,打印从0-5。
for i in range(5):
    print i

执行结果:
在这里插入图片描述

list=['a','b','c','d']
#len取list长度
for i in range(len(list)):
    print i

执行结果:
在这里插入图片描述

for…else。for语句正常执行完成后会执行else语句。

for i in range(5):
    print i
else:
    print "Bye"

执行结果:
在这里插入图片描述
break 和 continue 语句及循环中的 else 子句
在这里插入图片描述
break 语句可以跳出 for 和 while 的循环体。从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。
continue 语句跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

for i in range(10):
    # i=2时跳过当前循环块的语句,执行下一次循环
    if i == 2:
        continue
        print i
    # i=5时结束for循环
    if i == 5:
        break
    print i
# for语句异常break终止不执行else
else:
    print "Bye"

执行结果:
在这里插入图片描述
pass 语句
Python pass是空语句,是为了保持程序结构的完整性。
pass 不做任何事情,一般用做占位语句,如下实例

实例

while True:
… pass # 等待键盘中断 (Ctrl+C)

循环嵌套

#coding=utf-8
#冒泡排序写法一
list=[46,78,90,4,10,37]
#外层是比较的次数
for j in range(1,len(list)):
    # 内层是每次参加比较的数比前一次-j,因为最大的已经移动到后面了
    for i in range(0,len(list)-j):
        #print "i",i
        if list[i]>list[i+1]:
            list[i],list[i+1]=list[i+1],list[i]
        #打印出每次执行内部循环比较后的的列表值
        print "内部比较循环第",i,"次","比较的两个数为:",list[i],list[i+1],"当前list的值:",list

在这里插入图片描述

#coding=utf-8
#冒泡排序写法二
list=[46,78,90,4,10,37]
#外层是比较的次数
for j in range(0,len(list)-1):
    # 内层是每次参加比较的数比前一次-j,因为最大的已经移动到后面了
    for i in range(0, len(list) - j-1):
        # print "i",i
        if list[i] > list[i + 1]:
            list[i], list[i + 1] = list[i + 1], list[i]
        # 打印出每次执行内部循环比较后的的列表值
        print "内部比较循环第", i, "次", "比较的两个数为:", list[i], list[i + 1], "当前list的值:", list

执行结果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值