python for循环

Python中断多重循环的几种思路

荒凉一梦 提交于 2020-01-29 03:40:07
转自: https://www.cnblogs.com/cuijianxin/p/6611751.html I. 跳出单循环 不管是什么编程语言,都有可能会有跳出循环的需求,比如枚举时,找到一个满足条件的数就终止。跳出单循环是很简单的,比如 for i in range(10): if i > 5: print i break 然而,我们有时候会需要跳出多重循环,而break只能够跳出一层循环,比如 for i in range(10): for j in range(10): if i+j > 5: print i,j break 这样的代码并非说找到一组i+j > 5就停止,而是连续找到10组,因为break只跳出了for j in range(10)这一重循环。那么,怎么才能跳出多重呢?在此记录备忘一下。 II. 跳出多重循环 事实上,Python的标准语法是不支持跳出多重循环的,所以只能利用一些技巧,大概的思路有:写成函数、利用笛卡尔积、利用调试。 当然最常用的思路是使用变量标记法 def f(): flag = 0 for i in range(10): for j in range(i): if i+j>5: print i,j flag = 1 break if flag == 1: break if __name__ == "__main__": f() 写成函数

《Python学习手册 第五版》 -第10章 Python语句简介

∥☆過路亽.° 提交于 2020-01-29 03:17:49
前面在开始讲解数据类型的时候,有说过Python的知识结构,在此重温一下 Python知识结构:   程序由模块组成   模块包含语句   语句包含表达式   表达式创建并处理对象 关于知识结构,前面已经说过我自己的理解,在此就多啰嗦说一下 对象是要处理的基本类型,所以前面讲解的数据类型都可以理解为对象,那有了对象,如何处理对象,前面也有讲过很多对象处理的方法,那些都是最基本的基本,除了基本的方法,还有语句,通过特定的语句操作对象,所以从这张开始就涉及到语句的内容,也就是知识结构倒数第二层,语句包含表达式,所以通过学习表达式来掌握语句 本章的主要内容是对语句的简单介绍,会有一下几个重点: 1、Python中的基本语句有哪些? 2、语句的基本规则有哪些? 3、通过一个示例操作来说明一些语句和语法:交互式循环 接下来,针对上面三个主要内容,展开详细的说明 1、Python中的基本语句有哪些? 从第十章开始,就进入来本书的第三部分语句和语法,Python的语法有很多,而这个部分主要讲解的是一些基本语法,所以以下几种语法,是后续章节会详细展开讲解的基本语句 1)赋值语句:这个我们之前的章节中经常用到,只是没有单独说明,其实很简单,就是通过【=】来把右边的值赋值给左边,示例:a=123 2)调用与其他表达式:这个可以理解成基本函数的调用,是通过【.】来实现的,示例:log.write(

python 迭代器&&生成器

末鹿安然 提交于 2020-01-28 17:21:18
有一篇文章写得迭代器和生成器,写得很好:https://www.cnblogs.com/wj-1314/p/8490822.html #列表生成器print([i*2 for i in range(10)])#生成器:把列表中的[]修改为(),生成器调用时才会产生相应的数据,不调用时不暂用内存,同时只记住当前的位置,只有一个__next__()方法b=(i*2 for i in range(10))for i in b: print(i) 什么是生成器?   通过列表生成式,我们可以直接创建一个列表,但是,受到内存限制,列表容量肯定是有限的,而且创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。   所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间,在Python中,这种一边循环一边计算的机制,称为生成器:generator   生成器是一个特殊的程序,可以被用作控制循环的迭代行为,python中生成器是迭代器的一种,使用yield返回值函数,每次调用yield会暂停,而可以使用 next()函数和send()函数 恢复生成器。   生成器类似于返回值为数组的一个函数,这个函数可以接受参数,可以被调用

python_字符串转换编码值练习

拈花ヽ惹草 提交于 2020-01-28 03:17:06
字符串转编码值组合练习 for循环while循环练习,编码值和字符串之间的转换,并且体会break语句 """ 练习1:在终端中获取一个字符串,打印出每个文字的编码值. 练习2:在终端中循环录入编码值,打印每个文字. 要求:如果录入空字符串,则程序退出。 """ content = input ( "请输入:" ) for item in content : print ( ord ( item ) ) while True : value = input ( "请输入编码值:" ) if value == "" : break char = chr ( int ( value ) ) print ( char ) 来源: CSDN 作者: 李富贵︴ 链接: https://blog.csdn.net/weixin_46198526/article/details/104094933

python学习笔记(一):python简介和入门

回眸只為那壹抹淺笑 提交于 2020-01-27 22:18:16
最近重新开始学习python,之前也自学过一段时间python,对python还算有点了解,本次重新认识python,也算当写一个小小的教程。 一、什么是python? python是一种面向对象、解释型的计算机语言,它的特点是语法简洁、优雅、简单易学。在1989诞生,Guido(龟叔)开发。这里的python并不是蟒蛇的意思,而是龟叔非常喜欢一部叫做《 Monty Python 飞行马戏团》的电视剧,所以以python命名(老外就是这么任性)。 二、解释型语言和编译型语言 编译型语言就是先把写好的程序翻译成计算机语言然后执行,就是所谓的一次编译到处运行,比如c、c++就是编译型语言,这样的语言特点是运行速度快,但是需要事先把程序编译好才可以。 解释型语言就是程序在运行的时候,通过一个解释器,把代码一句一句的翻译成计算机语言然后运行,也就是你写好代码之后直接就能运行,比如说python、shell、ruby、java、perl等等都是解释型语言,当然这样的语言由于原理不一样,执行速度并没有编译型语言快。 三、选择python2.x还是python3.x? 现在python有2.x版本和python3.x版本,在选择版本这个事情上,很多人都是比较纠结的。到底选择2还是3,因为2和3代码是不怎么兼容的,现在比较常用的是2.7版本,2.7版本其实是一个过渡版本,在2008年的时候推出了3

廖雪峰Python3笔记

允我心安 提交于 2020-01-27 19:29:01
目录 第一个Python程序 Python基础 函数 高级特性 目录: 主要复习过一遍 简介 略 安装 略 第一个Python程序 第一行的注释: # _*_ coding: utf-8 _*_ #!/usr/bin/env python3 print() 可以接受多个字符串,用逗号隔开,就可以连成一串输出(可以用于不同数据类型的拼接,例如字符串和汉字 ''),但是要注意print会把东都好变成空格。 print("你的卡号是:", int) input() 例子 input("请输入你的名字:") Python基础 数据类型和变量 缩进(4个空格!不要用tab) ‘#’号开头的是注释。 Python是大小写敏感的! 整数,浮点数,字符串(转义,r'',''' '''段落方式),布尔值,空值(None),变量(动态),常量(PI),除法(‘/’取小数除法,// 地板除法,%取余数) 字符串和编码 Unicode通常用2个字节,多的时候会用到4个字节,ASCII只用1个字节,utf-8应运而生。 utf-8和unicode在浏览和存储的过程中会相互转换。 Python3的字符床是以Unicode编码的 提供了 ord()函数:获取字符的整数表示和chr()函数:把编码转换为对应的字符 python的str用的是unicode如果在网络或磁盘上需要把str转换为以字节为单位的bytes

Python基础知识学习-第五天

主宰稳场 提交于 2020-01-27 14:13:14
10-迭代 1 python中那些对象支持for循环(或者说遍历)呢? 答:可迭代的对象,或者说实现了迭代器协议的对象,就支持遍历或循环。(如列表,元组,字典,文件)。特点是内部实现了__next__()方法,能够自动获取下一个元素。实例: f = open ( 'hello.txt' , encoding = 'utf8' ) print ( f . __next__ ( ) ) print ( f . __next__ ( ) ) print ( f . __next__ ( ) ) >> > hello , world! >> > wow! >> > 你好! 若再次调用__next__()方法的话,会抛出StopIteration异常。 也可以调用全局函数next(),如下: f = open ( 'hello.txt' , encoding = 'utf8' ) print ( next ( f ) ) print ( next ( f ) ) print ( next ( f ) ) >> > hello , world! >> > wow! >> > 你好! 同样,此时若再次调用next()函数的话,会抛出StopIteration异常。 注意,列表是常见的可迭代对象,但是却无法调用__next__()方法和next()全局函数: list1 = [ 1 , 2 , 3

Python基础:序列(列表、元组)

北慕城南 提交于 2020-01-27 13:10:30
一、概述 列表 (list)是由一个个 Python对象 组成的序列。其中, Python对象 可以是任何类型的对象,包括 Python标准类型 (数值、字符串、列表、元组和字典)以及 用户自定义类型 (类)。相比而言, 字符串 仅仅是字符的序列,因此列表的概念和用途比字符串更广泛。 元组 (tuple)也是 Python对象 的序列,与列表非常接近。二者的主要差异点如下: 差异点 列表 元组 表示方法 空列表:[] 单元素列表:[1] 多元素列表[1, 'a'] 空元组:() 单元素元组:(1,) 多元素元组:(1, 'a') 可变性 可变 不可变 可操作性 支持丰富的操作 仅支持序列操作 可哈希性 不可哈希,不能作为字典的关键字 可哈希,可以作为字典的关键字 其中, 可变性 是列表和元组之间最本质的差异:列表是一个可变序列,而元组是一个不可变序列。用C/C++的话来讲, 元组是一个const版本的列表 。 二、操作 由于列表和元组都是序列类型,因此它们都支持 Python基础:序列 中给出的 通用序列操作 。 特别地,作为一个可变序列,列表还支持以下 列表操作 : 操作 说明 s[i] = x 用x替换s中的第i个成员 del s[i] 从s中删除第i个成员 s[i:j] = t 用t替换s[i:j] del s[i:j] 从s中删除s[i:j](等价于s[i:j] = [])

javascript

|▌冷眼眸甩不掉的悲伤 提交于 2020-01-27 01:44:10
JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处理。 一、如何编写 1、JavaScript代码存在形式 一般我们都是新建JavaScript文件,以.js结尾,然后在html文件中调用。下面介绍两种js代码两种存在形式 <!-- 方式一 --> <script type"text/javascript" src="JS文件"></script> <!-- 方式二 --> <script type"text/javascript"> Js代码内容 </script> #一般默认添加type"text/javascript",所以一般我们都省略这句 2、JavaScript代码存放位置 HTML的head中 HTML的body代码块底部(推荐) 由于Html代码是从上到下执行,如果Head中的js代码耗时严重,就会导致用户长时间无法看到页面,如果放置在body代码块底部,那么即使js代码耗时严重,也不会影响用户看到页面效果,只是js实现特效慢而已。 为了使显示直观,下面都把js代码写在html文件中,即以方式二呈现,有些示例会以浏览器console终端显示。   二、变量 局部变量: var 变量名 全局变量:变量名

python 之 python3内置函数

老子叫甜甜 提交于 2020-01-27 00:01:23
一. 简介   python内置了一系列的常用函数,以便于我们使用,python英文官方文档详细说明: 点击查看 , 为了方便查看,将内置函数的总结记录下来。 二. 使用说明   以下是Python3版本所有的内置函数: 1. abs()  获取绝对值 1 >>> abs(-10) 2 10 3 >>> abs(10) 4 10 5 >>> abs(0) 6 0 7 >>> a = -10 8 >>> a.__abs__() 9 10 2. all()  接受一个迭代器,如果迭代器的所有元素都为真,那么返回True,否则返回False 1 >>> tmp_1 = ['python',123] 2 >>> all(tmp_1) 3 True 4 >>> tmp_2 = [] 5 >>> all(tmp_2) 6 True 7 >>> tmp_3 = [0] 8 >>> all(tmp_3) 9 False 3. any()  接受一个迭代器,如果迭代器里有一个元素为真,那么返回True,否则返回False 4. ascii()  调用对象的__repr__()方法,获得该方法的返回值. 5. bin(), 6. oct(), 7. hex()   三个函数功能为:将十进制数分别转换为2/8/16进制。 8. bool()  测试一个对象是True还是False. 9. bytes()