天天看點

流程控制-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,如需轉載請自行聯系原作者