天天看点

流程控制-for序列、流程控制-for字典

1、for 循环简介

(3)加上,表示去除换行\n

流程控制-for序列、流程控制-for字典

range的理解:

range(10):表示从0开始到9,总共10个数

range(1,12):表示从1开始到11

rang(1,12,3):3表示间隔

流程控制-for序列、流程控制-for字典

range和xrange的区别:

range(10),占用内存资源

xrange(10),不占用内存资源,当循环的时候就占用,for i in xrange(10):,所以循环就使用xrange减少内存消耗

[root@centos7-3 python]# vim for1.py

#!/usr/bin/python

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

print i,

(4)打印基数

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

(5)打印九九乘法表

当i=1时,那就是for j in xrange(1,2):那j的取值还是1,print 后面的,表示每次循环的结果都横着输出,最好一行的print 就是for结束循环后换行

流程控制-for序列、流程控制-for字典

1x1 =1

2x1 =2 2x2 =4

3x1 =3 3x2 =6 3x3 =9

4x1 =4 4x2 =8 4x3 =12 4x4 =16

5x1 =5 5x2 =10 5x3 =15 5x4 =20 5x5 =25

6x1 =6 6x2 =12 6x3 =18 6x4 =24 6x5 =30 6x6 =36

7x1 =7 7x2 =14 7x3 =21 7x4 =28 7x5 =35 7x6 =42 7x7 =49

8x1 =8 8x2 =16 8x3 =24 8x4 =32 8x5 =40 8x6 =48 8x7 =56 8x8 =64

9x1 =9 9x2 =18 9x3 =27 9x4 =36 9x5 =45 9x6 =54 9x7 =63 9x8 =72 9x9 =81

(6)

contine:退出当前循环,contine下面的语句不会执行

break:退出整个循环

pass:占位,还没想好怎么写先占位,什么都不做

sys.exit:全部整个脚本,相当于shell的exit 0

[root@centos7-3 python]# cat for2.py 

#!/usr/bin/pthon

import sys

import time

for i in xrange(10):

if i == 3:

continue

elif i == 5:

elif i == 6:

pass

elif i == 7:

sys.exit()

else:

print 'main end'

print 'END'

结果:[root@centos7-3 python]# python for2.py 

0 1 2 4 6

(7)取随机数

In [40]: import random

流程控制-for序列、流程控制-for字典

#猜数字

#系统生成一个20以内的随机整数,玩家有6次机会进行猜猜看,每次猜测都有反馈(猜大了,猜小了,猜对了就介绍),6次中,猜对了,玩家赢,否则系统赢

#随机数

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

#permutations(p[,r]);返回p中任意取r个元素做排列的元组的迭代器

#itertools用于高效循环的迭代函数集合

方式二:

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

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

方式二:更容易理解点

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

a选队友,b选队友,if a的队友和b的队友不一样,再if a,b,c的队友都不一样,然后再if a,x不等,c,x,z不等,再打印出来

结果:

a-z,b-x,c-y

本文转自 iekegz 51CTO博客,原文链接:http://blog.51cto.com/jacksoner/2054861,如需转载请自行联系原作者