Python學習-20171225-26python
1、流程控制語句-ifexpress
語句格式:編程
if 表達式(expression):函數
代碼塊學習
在python 中1表明true 0表明flase內存
基本執行格式:字符串
if 判斷條件: 執行語句 else: 執行語句input
實例:it
yn=raw_input('please input yes or no: ')io
#字符串轉小寫
yn=yn.lower()
#判斷是否爲"yes"或者"y",若是正確輸出"running"
if yn == 'yes' or yn=='y':
print ('runing')
#判斷是否爲"no"或者"n",若是正確輸出"error"
elif yn=='no' or yn=='n':
print('error')
#若是出現其它輸入,則打印讓從新輸入語句
else:
print ('please input yes or no ')
2、流程控制語句-for循環
循環是一個結構,致使程序要重複必定的次數。
條件循環也是,當條件爲假時,則結束循環。
(1)遍歷序列
for循環:用在序列中,用for循環遍歷
語法:
for iterating_var in sequence: statements(s)
實例:
a='123' for x in a: print (x)
輸出結果:1 2 3
#循環一個列表
list1=[1,2,3] for x in list1: print x
range和xrange函數
range()函數可建立一個整數列表,通常用在for循環中。
xange()和range區別。用法同樣,可是xrange不佔用內存空間,只有調用的時候纔會佔用內存。
#生成乘方
print [x**2 for x in range(1,10)]
#列表重寫,取餘然只要偶數而後乘方
print [x**2 for x in range(1,10) if x % 2==0]
#計算100相加
for i in range(1,101): sum += i print (sum)
(2)遍歷字典
生成一個字典並遍歷字典中的key
dic1=dic.fromkeys('abcd',10) for k in dic: print (k,dic(k))
把字典轉化成列表,並遍歷
for k,v in dic.items(): print (k,v)
#生成乘法口訣
for i in range(1, 10): print for j in range(1, i+1): print "%d*%d=%d" % (i, j, i*j)
3、練習題
1. 有一、二、三、4個數字,能組成多少個互不相同且無重複數字的三位數?都是多少?
# for x in xrange(1,5): # for y in xrange(1,5): # for z in xrange(1,5): # if x != y and x != z and y != z: # print ('%s%s%s' % (x,y,z)) # count += 1 # print (count)
2.打印出全部的「水仙花數」,所謂「水仙花數」是指一個三位數,其各位數字立方和等於該數自己。例如:153是一個「水仙花數」,由於153=1的三次方+5的三次方+3的三次方。
程序分析:利用for循環控制100-999個數,每一個數分解出個位,十位,百位。
for i in range(100, 1000): x = i/100 #得到百位數 y = (i - x*100)/10 #得到十位數 z = i - i/10 *10 #得到個位數 if i == x**3 + y**3 + z**3: print(i)
3. 兩個乒乓球隊進行比賽,各出三人。甲隊爲a,b,c三人,乙隊爲x,y,z三人。已抽籤決定比賽名單。有人向隊員打聽比賽的名單。a說他不和x比,c說他不和x,z比,請編程序找出三隊賽手的名單。
one=['x','y','z']
for i in one: for j in one: if(j!=i): for x in one: if(x !=i) and (x !=j ): print('a : %s b : %s c : %s' % (i, j, x))