3.3.3 break 和 continue语句

  break:跳出整个循环

  continue:跳出当前循环继续后面的循环

  例:

x=int(input("please input the 'x':"))
y=0
for y in range(0,100):
if(x==y):
print("the number is :",x)
break
else:
print("The number was not found")
x=0
for i in [1,2,3,4,5]:
if (x==i):
continue
x += i
print("x的值为:",x)

3.4 结构化程序示例

  冒泡排序:最小的在前面,过程示例

解析:冒泡排序需要对数列循环若干次,例如数列中有i个元素。第一遍循环,自底向上检查一遍这个数列,比较相邻的两个元素。如果较小的元素在数列的下面,把较小的元素排在前面。依次比较之后,就把最大的元素放在底部了。第二遍循环就不需要计较最后一个元素了(最大元素)。依次类推,第n遍循环只需要从第一个元素开始,比较i-n次。经过i-1遍的处理后,数列就从小到大排序完成了。

冒泡排序的程序可以分解为两个模块,冒泡算法的实现函数和主函数,如图

在实现中将用到xrange()。前面提到了range()函数生产迭代集合。(注意:python3中没有xrange())

冒泡排序示例:

#!/usr/bin/env python
def bubbleSort(numbers): #定义一个冒泡函数
for j in range(len(numbers)-1,-1,-1): #如果len(number)=5,该句的range等同与range(4,-1,-1),取值范围是4 —0
for i in range(j):
if(numbers[i]>numbers[i+1]): #把小的放到前面
numbers[i],numbers[i+1]=numbers[i+1],numbers[i]
#python特有语法,等同于分别对应numbers[i]=numbers[i+1]和numbers[i+1]=numbers[i]互换数值,不可分开写。不同于C语言中需要一个中间数间接实现数值转移。
print(numbers)
def main(): #自定义个一个函数
numbers=[23,12,9,15,6,10,19,8]
bubbleSort(numbers) if __name__ == '__main__': #初始化主函数,并调用函数main(),相当于C语言中的main(),是python程序的入口
main()

注意:while循环和for循环都有一个else子句,这个语法是C和Java中没有的。

小练习:编写程序,输入金额,输出需要缴纳的个人所得税以及扣除所得税后的实际个人收入(排除社保等其他因素)

#!/usr/bin/env python
import sys
money=float(input("请输入你的工资:"))
pay=money-3500
out=0
if(pay<=0):
print("您的工资不在纳税范围")
sys.exit()
while(pay>0):
if(pay<=1500):
out=pay*0.03-0
break
elif(1500<pay<=4500):
out=pay*0.1-105
break
elif(4500<pay<=9000):
out=pay*0.2-555
break
elif(9000<pay<=35000):
out=pay*0.25-1005
break
elif(35000<pay<=55000):
out=pay*0.3-2775
break
elif(55000<pay<=80000):
out=pay*0.35-5505
break
else:
out=pay*0.45-12505
break
print("您需要缴纳的个人所得为:%d,您税后实际收入为:%d" %(out,money-out))
[root@Dannyserver danny]# python .py
请输入你的工资:
您需要缴纳的个人所得为:,您税后实际收入为:9255 [root@Dannyserver danny]# python .py
请输入你的工资:
您的工资不在纳税范围

python学习笔记四——循环及冒泡排序的更多相关文章

  1. 【Python学习笔记】循环和迭代

    for和while基本语法 break和continue else的使用 enumerate和zip在循环中的应用 for和while基本语法 Python中的的循环使用for和while语句来实现, ...

  2. python学习笔记:循环语句——while、for

    python中有两种循环,while和for,两种循环的区别是,while循环之前,先判断一次,如果满足条件的话,再循环,for循环的时候必须有一个可迭代的对象,才能循环,比如说得有一个数组.循环里面 ...

  3. python学习笔记(四)、条件、循环及其他语句

    1 再谈print和import 1.1 打印多个参数 print 能够同时打印多个表达式,并且能自定义分隔符.如下: print('a','b','c') ——> a b c print('a ...

  4. python学习笔记(四)---用户输入与while循环

    用户输入 函数input demo1: message = input("all you input is chars:") print(message) demo2: 由inpu ...

  5. Python学习笔记四

    一.装饰器 1.知识储备 函数对象 函数可以被引用 函数可以当参数传递 返回值可以是函数 可以当作容器的元素 def func1(): print (666) def func2(): print ( ...

  6. python学习笔记(四) 思考和准备

    一.zip的坑 zip()函数接收多个可迭代数列,将数列中的元素重新组合,在3.0中返回迭代器指向 数列首地址,在3.0以下版本返回List类型的列表数列.我用的是3.5版本python, 所以zip ...

  7. python学习笔记(四):函数

    一.函数是什么? 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,编程中的函数在英文中也有很多不同的叫法.在BASIC中叫做subroutine(子过程或子程序),在Pasc ...

  8. python学习笔记(四):生成器、内置函数、json

    一.生成器 生成器是什么?其实和list差不多,只不过list生成的时候数据已经在内存里面了,而生成器中生成的数据是当被调用时才生成呢,这样就节省了内存空间. 1. 列表生成式,在第二篇博客里面我写了 ...

  9. python学习笔记四 迭代器,生成器,装饰器(基础篇)

    迭代器 __iter__方法返回一个迭代器,它是具有__next__方法的对象.在调用__next__方法时,迭代器会返回它的下一个值,若__next__方法调用迭代器 没有值返回,就会引发一个Sto ...

随机推荐

  1. Vue2 第四天学习(Vue的生命周期)

    阅读目录 1.理解VUE---混合 2.Vue实例化选项 3.Vue实例化的生命周期 回到顶部 1.理解VUE---混合 在了解Vue生命周期之前,我们先来学习Vue中的混合吧: 为什么需要使用混合? ...

  2. Vue2 第三天学习

    个人小总结:1年多没有写博客,感觉很多知识点生疏了,虽然工作上能解决问题,但是当别人问到某个知识点的时候,还是迷迷糊糊的,所以坚持写博客是硬道理的,因为大脑不可能把所有的知识点记住,有可能某一天忘了, ...

  3. Android逆向学习资料

    Android逆向基础之Dalvik虚拟机: https://lyxw.github.io/archivers/Android%E9%80%86%E5%90%91%E5%9F%BA%E7%A1%80% ...

  4. linux随手笔记(Centos为主)

    用户管理 1.用户管理配置文件 用户数据文件:/etc/passwd [root@CentOS-Test software]# grep test /etc/passwd test:x:500:500 ...

  5. java 文件字节和字符流 缓冲流

    流的原理 1) 在 Java 程序中,对于数据的输入/输出操作以“流”(stream) 方式进行:2) J2SDK 提供了各种各样的“流”类,用以获取不同种类的数据:程序中通过标准的方法输入或输出数据 ...

  6. python 日志

    logger.conf 配置文件 #logger.conf ############################################### [loggers] keys=root,ex ...

  7. SecureRandom

    我们知道,Random类中实现的随机算法是伪随机,也就是有规则的随机.在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字. 相同种子数的Ra ...

  8. 练习angularjs的ng-click的应用

    angular的click事件ng-click. 实现一个小功能计数器,用户可以点击“+”或“-”铵钮,数值每随点击铵钮增长1或减1.使用ng-init设置初始值为0. <div ng-app= ...

  9. BTrace 初探

    BTrace 是一款java诊断工具,在解决现场问题的时候非常有用. 今天使用的时候碰到几个坑,先记录一下. 下载下来以后直接运行报错 root@iZ2ze89756yjbvq7le6obdZ:~/b ...

  10. SSO单点登录_理解

    SSO核心意义就一句话:一处登录,处处登录:一处注销,处处注销.即:在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. 很多人容易把SSO与OAuth搞混.这里简单说明一下: OA ...