python基礎篇
注:適合萌新學習python而且裏面的內容會持續的更新!javascript
關於for循環
例題:建立一個數據集,包含1到10的隨機整數,共計100個數,並統計每一個數出現的次數。java
// 方法1 import random //引入random模塊 lst = [] //定義一個空列表 d = dict() //定義一個空字典 for i in range(100): //循環100次 n = random.randint(1,10) //每循環一次隨機拿到1——10之內的任意一個數 if n in d : d[n]+=1 //若是這個數做爲鍵在字典裏,值加1 else: d[n]=1 //不然值等於1 print(d)
//方法2 import random lst=[] for i in range(100): n=random.randint(1,10) lst.append(n) d={ } for n in lst: if n in d: d[n]+=1 else: d[n]=1
經常使用於for循環的函數python
- range()
- zip()
- enumerate( )
- 列表解析
例題:求100之內能被三整除的數git
lst=[] for i in range(100): if i % 3 == 0; lst.append(i) print(lst)
用列表解析法求100之內能被三整除的數app
>>>[i for i in range(100) if i % 3 == 0] 結果是:[0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99] >>>range(0, 100, 3) >>>list(range(0, 100, 3))
用range方法實現兩個列表的對應值相加dom
c=[1,2,3,4,5] d=[6,7,8,9,1] r=[] for i in range(len(c))://把列表中的每個元素所對應的索引拿出來了 r.append(c[i]+d[i])
用zip方法實現兩個列表的對應值相加函數
c=[1,2,3,4,5] d=[6,7,8,9,1] r=[] for x,y in zip(c,d): r.append(x+y) print(r)
enumerate()方法:枚舉 返回索引值學習
>>>s=['one','two','three'] >>>list(enumerate(s)) [(0, 'one'), (1, 'two'), (2, 'three')]//獲得索引和值
例題 :字符串s=‘life is short You need python’。統計這個字符串中每一個字母出現的次數。spa
s='life is short You need python' lst = [] //定義一個空列表 d = dict() //定義一個空字典 for i in s: //循環獲取s中的每一個字母 if i.isalpha(): //判斷循環獲得的是不是一個字符,是字符則執行後面的代碼塊 不然返回false if i in d : d[i]+=1 //'鍵'放在字典裏而且'值'加1 else: d[i]=1 print(d)
關於while循環
格式: while[condition]:
statements
code
a=0 while a<3: s=input("input your lang:") if s=='python': print("your lang is {0}".format(s)) break //當代碼執行到這裏時,會跳出當前循環(此處跳出while 執行print("the end a:",a)) else: a+=1 print("a=",a) print("the end a:",a)
a=11 while a>0: a-=1; if a%2==0: continue print(a) else: print(a)
用while循環作一個小遊戲:
製做一個知足以下功能的猜數遊戲:
1.計算機隨機生成一個100之內的正整數;
2.用戶經過鍵盤輸入數字,猜想計算機所生成的隨機數。
注意:對用戶的輸入次數不作限制。
import random computer_name = random.randint(1,100) #表示從1——100之內隨機取一個數 while True: #表示一直循環,直到遇到結束標誌 user_name = input("請輸入你要猜想的數字:") #得到的是字符串類型 if not user_name.isdigit(): print("請輸入1——100之內的整數" ) elif int(user_name)<0 or int(user_name)>=100: print("請輸入1——100之內的整數") else: if int(user_name)==computer_name: print("you are win") break elif int(user_name)<computer_name: print("you are smaller") else : print("you are bigger") #注:並不是是最優代碼,但程序徹底正確!由於此時做者也處在學習階段!