流程控制-for循环(序列/字典举例)

流程控制-for循环(序列)

循环

循环是一个结构,导致程序要重复一定的次数。

条件下循环也是如此,当然条件变为假,循环结束。

for循环:

在序列里,使用for循环遍历。

语法:

for iterating_var in sqquence:

statement(s)

举例:

(例1)for用法举例

In [1]: a = 'ABC'

In [2]: a

Out[2]: 'ABC'

In [3]: for i in a:

...:     print i

...:

A

B

C

In [4]: for i in a:

print i,    #加逗号显示在同一行用空格隔开。

...:

A B C

(例2)list的for循环

In [5]: list1 = [1,3,4,5]

In [6]: list1

Out[6]: [1, 3, 4, 5]

In [7]: for i in list1:

...:     print i

...:

1

3

4

5

(例3)range()函数用法:

In [11]: range(1,11)

Out[11]: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

In [12]: range(11)

Out[12]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

In [13]: range(1,11,2)

Out[13]: [1, 3, 5, 7, 9]

#脚本:打印出1到10的10个数字:

#!/usr/bin/python

for i in range(1,11):

print i

运行结果:

[[email protected] python]# python for.py

1

2

3

4

5

6

7

8

9

10

[[email protected] python]#

(例4)print加","显示为一行

脚本1:

#!/usr/bin/python

print [i for i in range(1,11)]

运行结果:

[[email protected] python]# python for.py

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

[[email protected] python]#

脚本2:

#!/usr/bin/python

print [i*2 for i in range(1,11)]

运行结果:

[[email protected] python]# python for.py

[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]

[[email protected] python]#

脚本3 求1,10内的偶数:

#!/usr/bin/python

print [i for i in range(1,11) if i%2==0]

运行结果:

[[email protected] python]# python for.py

[2, 4, 6, 8, 10]

[[email protected] python]#

(例5)列表重写:

脚本4 求1,10内的偶数的乘方:

#!/usr/bin/python

for i in  [i**2 for i in range(1,11) if i%2==0]:

print i,

运行结果:

[[email protected] python]# python for.py

4 16 36 64 100

[[email protected] python]#

脚本5 求1到100所有数加到一起的和:

#!/usr/bin/python

sum = 0

for i in range(1,101):

sum = sum + i

print sum

运行结果:

[[email protected] python]# python for1.py

5050

(例6)xrange()

产生的是对象,节省内存:

xrange(10)

In [3]: a = xrange(20)

In [4]: type(a)

Out[4]: xrange

In [6]: for i in a:

print i,

...:

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

流程控制-for循环(字典)

生成字典:

In [14]: dic = dic.fromkeys('abcdef','100')

In [15]: type(dic)

Out[15]: dict

In [16]: dic

Out[16]: {'a': '100', 'b': '100', 'c': '100', 'd': '100', 'e': '100', 'f': '100'}

(例1)打印出键值:

In [18]: for k in dic:

....:     print k

....:

a

c

b

e

d

f

(例2)打印出键值和value

In [19]: for k in dic:

....:    print k,dic[k]

....:

a 100

c 100

b 100

e 100

d 100

f 100

格式化输出

In [21]: for k in dic:

print "%s --->> %s " % (k,dic[k])

....:

a --->> 100

c --->> 100

b --->> 100

e --->> 100

d --->> 100

f --->> 100

(例3)items()方法:

dic.items():返回的是列表 :

In [22]: dic.items()

Out[22]:

[('a', '100'),

('c', '100'),

('b', '100'),

('e', '100'),

('d', '100'),

('f', '100')]

In [23]: for i in dic.items():print i

('a', '100')

('c', '100')

('b', '100')

('e', '100')

('d', '100')

('f', '100')

In [24]: for k,v in dic.items():print k,v

a 100

c 100

b 100

e 100

d 100

f 100

(例4)dic.iteritems() 方法:

dic.iteritems()  返回的是对象:

In [25]: for k,v in dic.iteritems():print k,v

a 100

c 100

b 100

e 100

d 100

f 100

一个print 可以输出一个换行符:

(例5)举例乘法口诀:

#!/usr/bin/python

for i in xrange(1,10):

for j in xrange(1,i+1):

print "%sx%s=%s" % (j,i,j*i),

print

运行结果:

[[email protected] python]# python  koujun.py

1x1=1

1x2=2 2x2=4

1x3=3 2x3=6 3x3=9

1x4=4 2x4=8 3x4=12 4x4=16

1x5=5 2x5=10 3x5=15 4x5=20 5x5=25

1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36

1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49

1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64

1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81

[[email protected] python]#

习题:

1. 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?  1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去  掉不满足条件的排列。

#!/usr/bin/python

# date:2017.12.26

# Author:fengxiaoqing

i=0

num=(1,2,3,4)

for x in  num:

for y in num:

for z in num:

if x != y and  x != z and  y != z :

print x*100+y*10+z

i=i+1

print "the total num is :%s" % i

2. 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。

程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

3. 两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

原文地址:http://blog.51cto.com/fengyunshan911/2054971

时间: 2024-10-05 19:37:24

流程控制-for循环(序列/字典举例)的相关文章

Python基础--if流程控制与循环

流程控制之if...else 既然我们编程的目的是为了控制计算机能够像人脑一样工作,那么人脑能做什么,就需要程序中有相应的机制去模拟.人脑无非是数学运算和逻辑运算,对于数学运算在上一节我们已经说过了.对于逻辑运算,即人根据外部条件的变化而做出不同的反映. ###Python定义了缩进的机制.使用流程控制或循环时需要在执行语句前面缩进4个空格. if...else格式: if 条件: 执行语句 else: 执行语句 例如:判断日期,如果是周日则打游戏,不是周日则上班睡觉. date='Monday

十八、流程控制之循环中断

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace _18.流程控制之循环中断 {     class Program     {         static void Main(string[] args)         {             /**              * 循环的中断方式有四种:              * (1) br

[Web 前端] 023 js 的流程控制、循环和元素的获取、操作

1. Javascript 流程控制 用于"基于不同条件执行不同的动作"的场合 1.1 if 语句 三种形式 // 第一种 if... // 第二种 if... else ... // 第三种 if... else if... else... 支持 单分支 双分支 多分支 注意 else if 中间必须要有空格 对第二种形式举例 if(1+1=2){ console.log("true"); } else{ console.log("false"

day6 流程控制 while循环 运算符

具体知识戳这里 运算符 #算数运算符# x=10# y=3## print(x / y)   除# print(x // y)  除取整数## print(x % y) #取余 # print(y**3) 求y的三次方 #了解部分#字符串+,*#列表:+,*# l1=[1,2,3]# l2=[4,5]## print(l1+l2)# print(l1*3)  输出3个l1 #比较运算符# num1=3# num2=1 # print(num1 > num2)# print(num1 < num

day2 数据类型,流程控制,循环

数据类型: 日常生活中,我们常用的数据是有很多类型的,比如数字和字符串,数字的功能是计数和运算,字符串即文字是记录和交换信息,区别很大. 但是计算机使用二进制记录所有信息,无法区分不同数据的区别,所以需要人为的指定. 比如c 和 java等语言,赋值变量时必须明确标识数据类型.但是python是更加高级的语言,解释器会自动识别数据类型,但是有时解释器指定的数据类型不符合你的要求,可以自己进行转换. 基本数据类型分为三类: 数字,字符串,布尔 数字: python 2.x 版本 分为三类:int整

69期-Java SE-003_流程控制、循环-001-002

### 位运算符 十进制和二进制的转换. - 十进制转二进制:目标数除以二,如果能除尽,则该位计作零,如果除不尽,则该位计作一,再对商继续除以二,以此类推,直到商为零,然后将每一位的结果进行反序组合就是对应的二进制结果,10 转为二进制 1010,17 转为二进制 10001 - 二进制转十进制:从目标数最右侧算起,本位的数值乘以本位的权重,权重就是2的第几位的位数减一次方,如果第1位就是2的(1-1)次方,第2位就是2的(2-1)次方,第3位就是2的(3-1)次方…,将每一位的数值和本位权重相

024 程序流程控制for循环

for循环 1.语法 当我们写while循环的时候,不给判断条件的时候,while循环是不会自动结束的,他是无限次循环的,我们要是想要while结束循环的需要给判断也就是说需要我们自己判断它.拿我们就会想其他的方法来解决这些问题,这时候我们就学到了for循环,for循环的循环次数受限于容器类型的长度,而while循环的循环次数需要自己控制. 比如:字典也有取多个值的需求,字典可能有while循环无法使用了,这个时候可以使用我们的for循环. # while 循环 name_list = ['ni

Linux mysql shell脚本 变量和环境变量 位置参数 预定义变量 运算符 判断 流程控制 for循环 与用户交互 函数

mysql 1. 卸载旧版本 rpm -qa | grep mysql 检查是否有旧版本 查询结果:mysql-libs-5.1.73-7.el6.x86_64 rpm -e mysql-libs 删除旧版本 rpm -e --nodeps mysql-libs 强行删除 2. 安装mysql 2.1 安装源码需要编译 下载c的编译工具 yum -y install make gcc-c++ cmake bison-devel ncurses-devel 2.2 xftp连接上传 xftp连接上

【5】Java流程控制之循环结构

一.流程控制概述 三大流程控制语句:顺序.选择.循环 1)顺序:从上往下依次执行 2)选择:if ,if-else,多重 if结构,嵌套if,switch,根据条件执行对应的内容 3)循环结构: -while循环 -do-while循环 -for循环 -break语句 -continue语句 二.while循环 1)如果循环体只有一条语句,大括号可以省略 2)为避免死循环,小括号后面不要加分号 ,否则只执行分号前面的内容 3)n必须先进行初始化:例如 int n=1 4)循环变量n的值必须被改变