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. python3 day02 大纲

    一. 格式化输出 %s 字符串的占位 %d 数字的占位 digit %f 浮点数 字符串 % (数据) 模板字符串(3.5) # username = "admin"# passw ...

  2. Linux下彻底卸载mysql详解

    转自 http://www.jb51.net/article/97516.htm 一.使用以下命令查看当前安装mysql情况,查找以前是否装有mysql ? 1 rpm -qa|grep -i mys ...

  3. mybatis基础系列(三)——动态sql

    本文是Mybatis基础系列的第三篇文章,点击下面链接可以查看前面的文章: mybatis基础系列(二)--基础语法.别名.输入映射.输出映射 mybatis基础系列(一)--mybatis入门 动态 ...

  4. 关于ELK

    官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/6.0/getting-started.html 日志: https://ww ...

  5. 大功率DC-DC方案

    三端稳压芯片只适合于小功率器件的直流稳压(电流<1A):如7805,这个电路是可以应付大多数情况的: 如果出现大功率的器件就需要采用新的稳压方案,可以参考下图方案: https://www.bi ...

  6. Dubbo与Zookeeper在Window上的安装与简单使用

    一:Dubbo是什么?有什么用途?? 使用Dubbo可以将应用分布到多个服务器上,当有访问时,Dubbo有帮你管理自动将请求分配给合适得到服务器去执行,即建立多个生产者,建立多个消费者,自动匹配生产者 ...

  7. 【LeetCode105】Construct Binary Tree from Preorder and Inorder Traversal★★

    1.题目 2.思路 3.java代码 //测试 public class BuildTreeUsingInorderAndPreorder { public static void main(Stri ...

  8. [Oracle]如何在Oracle中设置Event

    为了调查Oracle 的故障,可以通过设置event ,来了解详细的状况.方法如下: ■ 如果使用 SPFILE, =============To enable it: 1. Check the cu ...

  9. [Spark][Python]Wordcount 例子

    [training@localhost ~]$ hdfs dfs -cat cats.txt The cat on the matThe aardvark sat on the sofa[traini ...

  10. 【福利】送Spark大数据平台视频学习资料

    没有套路真的是送!! 大家都知道,大数据行业spark很重要,那话我就不多说了,贴心的大叔给你找了份spark的资料.   多啰嗦两句,一个好的程序猿的基本素养是学习能力和自驱力.视频给了你们,能不能 ...