for循环是python中的一个通用的序列迭代器,可以遍历序列对象中的所有对象。
1、for循环基本格式
for循环基本格式如下。
for var in object:
循环体语句块
else:
语句块
 
 
 
4
 
 
 
 
 
1
for var in object:
2
    循环体语句块
3
else:
4
    语句块
 
 
else部分可以省略。for执行时,依次将可迭代对象object中的值赋给变量var。var每赋值一次,则执行一次循环体语句块。循环执行结束后时,如果有else部分,则执行对应的语句块。else部分只在正产结束循环时执行。如果用break跳出循环,则不会执行else部分。
例如;
for x in (1,2,3,(4,5)):
print(x) 1
2
3
(4,5) for x in "book":
print(x) b
o
o
k for x in (1,2,3):
print(x*2)
else:
print("loop over") 2
4
5
loop over
 
 
 
25
 
 
 
 
 
1
for x in (1,2,3,(4,5)):
2
    print(x)
3

4
1
5
2
6
3
7
(4,5)
8

9
for x in "book":
10
    print(x)
11

12
b
13
o
14
o
15
k
16

17
for x in (1,2,3):
18
    print(x*2)
19
else:
20
    print("loop over")
21
    
22
2
23
4
24
5
25
loop over
 
 
在迭代字典对象时,变量一次迭代字典的各个键。例如:
d={'name':'john','age':25}
for x in d:
print(x,d[x]) age 25
name john
 
 
 
6
 
 
 
1
d={'name':'john','age':25}
2
for x in d:
3
    print(x,d[x])
4
    
 
 
5
age 25
6
name john
 
 
可以使用range() 函数来生成包含连续多整数的range对象,其基本格式如下:
range(end)
range(start,end[,step])
])
 
 
x
 
 
 
1
range(end)
2
range(start,end[,step])
 
 
指定end参数时,生成整数范围为0~end-1.指定start时,生成整数范围为start~end-1,间隔为step。step默认为1。
例如:
for x in range(3):
print(x)
0
1
2 for x in range(-2,2):
print(x)
-2
-1
0
1 for x in range(-2,2,2):
print(x)
-2
0
):
 
 
x
 
 
 
1
for x in range(3):
2
    print(x)
3
0
4
1
5
2
6

7
for x in range(-2,2):
8
    print(x)
9
-2
10
-1
11
0
12
1
13

14
for x in range(-2,2,2):
15
    print(x)
16
 -2
17
0
 
 
 
2、多个变量迭代
可在for循环中用多个变量来迭代序列对象。例如:
for (a,b) in ((1,2),(3,4),(5,6)):
print(a,b)
1 2
3 4
5 6
 
 
 
1
 
 
 
1
for (a,b) in ((1,2),(3,4),(5,6)):
2
    print(a,b)
3
1 2
4
3 4
 
 
5
5 6
 
 
与赋值语句类似,可以用"*" 给变量赋值给一个列表。例如:
for(a,*b) in ((1,2,'abc'),(3,4,5)):
print(a,b)
1[2,'abc']
3[4,5]
,
 
 
1
 
 
 
1
for(a,*b) in ((1,2,'abc'),(3,4,5)):
2
    print(a,b)
3
1[2,'abc']
 
 
4
3[4,5]
 
 
 
3、break和continue
break语句用于跳出当前循环,即提前结束循环(包括跳过else)。Continue语句则用于跳过循环体剩余语句,回到循环开头开始下一次迭代。
        例如,下面的代码用for循环找出100~999范围内的前10个回文数字---3位数中个位和百位相同的数字为回文数字。
a=[]
n=()
for x in range(100,999):
s=str(x)
if s[0]!=s[-1]:
continue
a.append(x)
n+=1
if n==10:
break
else:
print('loop over')
print(a)
a=[]
 
 
x
 
 
 
1
a=[]
2
n=()
3
for x in range(100,999):
4
    s=str(x)
5
    if s[0]!=s[-1]:
6
        continue
7
    a.append(x)
8
    n+=1
9
    if n==10:
10
        break
11
else:
12
    print('loop over')
13
print(a)
 
 
 
4、嵌套使用for循环
python允许嵌套使用for循环,即在for循环内部使用for循环。例如,下面的代码输出100以内的素数(素数指除了1和他本身之外不能被其他数整除的数)。
print(2,3,end=" ")         #2、3是素数,直接输出,end=" " 使后续输出不换行。
for x in range(4,100):
for n in range(2,x):
if x%n==0:
break
else:
print(x,end=" ")
else:
print("over")
使后续输出不换行。
 
 
1
 
 
 
 
 
1
print(2,3,end=" ")         #2、3是素数,直接输出,end=" " 使后续输出不换行。
2
for x in range(4,100):
3
    for n in range(2,x):
4
        if x%n==0:
5
            break
6
    else:
7
        print(x,end=" ")
8
else:
9
    print("over")
 
 
 
 
 
 
 
 
 
 
 
 
 
 

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">

 
 
 
 

程序流程控制2 for循环的更多相关文章

  1. [java学习笔记]java语言基础概述之运算符&程序流程控制&for循环嵌套

    一.运算符 算数运算符 +,-,*,/,%,++,-- 1.+,-,*,/ 整数除以整数的结果为舍弃了小数部分的整数. 2.%:取余 %左右都为正数,左边小于右边结果为左边值,如,4%5=4 %左边大 ...

  2. Java基础-程序流程控制第二弹(循环结构)

    Java基础-程序流程控制第二弹(循环结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 流程控制有三种基本结构:顺序结构,选择结构和循环结构.一个脚本就是顺序结构执行的,选择结 ...

  3. Java 基础 程序流程控制 (下)

    Java 程序流程控制 (下) 此篇单独对循环结构的知识点进行整理: 之前讲到循环结构分为:for循环,while循环,do...while循环三种最基本的循环结构:在JDK1.5以后的版本还提供了f ...

  4. Java 基础 程序流程控制 (上)

    Java程序流程控制 (上) Java程序大体分为三种流程控制结构:顺序结构.分支结构.循环结构 顺序结构 程序由上到下的逐行执行,中间没有任何跳转和判断语句. 示例代码如下: public clas ...

  5. Java基础之程序流程控制

    Java中的程序流程控制 Java中的程序流程分为三种结构:①顺序结构:②分支结构:③循环结构 一.顺序结构 Java中定义成员变量的时候,采用的是前向引用,也就是后面的变量可以引用之前定义好的变量. ...

  6. [转帖]流程控制:for 循环

    流程控制:for 循环 http://wiki.jikexueyuan.com/project/linux-command/chap34.html need more study need more ...

  7. 4. Scala程序流程控制

    4.1 程序流程控制说明 在程序中,程序运行的流程控制决定程序是如何执行的,是我们必须掌握的,主要有三大流程控制语句,顺序控制,粉质控制,循环控制 温馨提示:Scala语言中控制结构和Java语言中的 ...

  8. Java 基础入门随笔(4) JavaSE版——程序流程控制

    上一节对于运算符有了大致的了解,这一节针对程序流程控制进行复习!程序流程控制包括顺序结构.判断结构(if).选择结构(switch).循环结构. 1.判断结构 ①if语句的第一种格式:        ...

  9. Java程序流程控制

    程序流程控制有 选择,循环,以及跳转结构 选择结构中无非就是 If 和 switch语句我两种都做了一些小案例 1. 利用Scanner库来获得控制台用户输入的数字与代码中定义的变量比较 packag ...

随机推荐

  1. Solution -「Gym 102956F」Find the XOR

    \(\mathcal{Description}\)   Link.   给定 \(n\) 个点 \(m\) 条边的连通无向图 \(G\),边有边权.其中 \(u,v\) 的距离 \(d(u,v)\) ...

  2. INTERSPEECH 2015 | Scalable Distributed DNN Training Using Commodity GPU Cloud Computing

    一般来说,全连接层的前向和后向传递所需的计算量与权重的数量成正比.此外,数据并行训练中所需的带宽与可训练权重的数量成比例.因此,随着每个节点计算速度的提高,所需的网络带宽也随之增加.这篇文章主要是根据 ...

  3. 本塔科技借力VR Engine,提供更优质的3D VR内容

    本文分享于华为开发者论坛<本塔科技借力HMS Core VR Engine,提供更优质的3D VR视频内容> 本塔科技致力于为影视行业提供优质的3D VR视频内容,追求稳定.观看感舒适.良 ...

  4. centos7挂载U盘,查看U盘文件

    .在根目录下创建挂载的目录:mkdir mnt/usb 2.查看U盘在系统中的命称:fdisk -l 3.使用mount命令挂载U盘:mount /dev/sdb1 mnt/usb,一半就是第一个 但 ...

  5. [旧][Android] 命名规范和编码规范

    备注 原发表于2016.05.07,资料已过时,仅作备份,谨慎参考 前言 本文适用范围:已参加项目开发的人 写这篇文章的目的是为方便地对代码进行管理,让整个团队的代码规范化.这里的部分规定可能和你在其 ...

  6. RENIX流量发送模式——网络测试仪实操

    信而泰的RENIX平台支持5种传输模式, 如下图所示. 模式一: continuous Continuous:连续发送流 持续发送方式是默认的发送模式,  它不会自动的停止, 会一直发送, 直到用户手 ...

  7. linux安装ngixn

    卸载ngxin(第一次安装请略过) 1.检查nginx是否启动,是否安装ngxin 检查是否安装nginx命令 rpm -qa|grep nginx 检查nginx是否启动命令: pa -ef|gre ...

  8. BI分析系统是什么?有什么用?

    伴随着大数据概念的不断发展,存储成本越来越低,数据来源也越来越广泛,我们从原来只关心数据的大小,逐渐转变为如何让数据产生更多的价值.它也一直困扰着许多大小企业,越来越多的企业开始将BI分析系统应用到企 ...

  9. 厌倦了excel绘制地图的繁琐操作,来看看这款可视化地图神器!

    在现代生活中,地图无论对于社会主义建设.国防.运输以至旅行都是不可缺少的.要学会正确地使用地图,必须学会如何绘制地图. 最近我发现了一款好用的可视化地图神器,比excel做地图可视化好一万倍!其实呢, ...

  10. Dell服务器配置RAID1+RAID0磁盘阵列

    有台DELL R730的服务器,需要部署下公司的程序,这里记录下raid配置. 环境要求 两块硬盘做raid 1 一块硬盘做raid 0 服务器开机,开始配置raid 服务器开机,在出现下图提示时,同 ...