先看**
import random
import string
chars = string.ascii_letters + string.digits # 26個字母的大小寫和數字組合
def generatecode(count, length):
for x in range(count):
code = ''
for y in range(length):
code = code + random.choice(chars)
yield code
print(1)
if __name__ == "__main__":
codes = generatecode(200, 20)
# print codes
for code in codes:
print(code)
**是用來輸出200個長度為20的隨機碼。
學習**:
1)import module_name。即import後直接接模組名。在這種情況下,python會在兩個地方尋找這個模組,第一是sys.path(通過執行**import sys; print(sys.path)檢視),os這個模組所在的目錄就在列表sys.path中,一般安裝的python庫的目錄都可以在sys.path中找到(前提是要將python的安裝目錄新增到電腦的環境變數),所以對於安裝好的庫,我們直接import即可。第二個地方就是執行檔案所在的目錄
2)for迴圈中 x y 是序列索引;
range(100) 意思是[0, 1, 2, 3, 4, …, 98, 99],返回長度100的序列。
yield 含有return功能,帶yield的函式是乙個生成器,而不是乙個函式,遇到yield 則返回生成的字串,呼叫時使用next()方法,繼續生成器上次的迴圈,x y會儲存上次的值,自增。
generatecode(200, 20) 並不會執行生成器,而是返回乙個生成器物件。
3)ifname== 「main」
當直接執行包含main函式的程式時,main函式會被執行,同時程式的__name__變數值為』main』,當包含有main函式的程式被作為module被import時,該module程式(print_main_function.py)對應的__name__變數值為該module對應的函式名稱。
4)python縮排為四個空格,必須嚴格遵守,否則報錯。
在 python 裡,識別符號由字母、數字、下劃線組成。
在 python 中,所有識別符號可以包括英文、數字以及下劃線(_),但不能以數字開頭。
python 中的識別符號是區分大小寫的。
從程式中學python 2
python實現文件中計算字串出現的次數和字母出現的次數 from collections import counter import string import sys punctuations string.punctuation string.whitespace 標點符號和空格 換行,製表符...
從程式中學習EKF SLAM(二)
進入主迴圈的第乙個部分,就是儲存當前狀態下的資料。這裡順帶提一下系統裡的資料格式。首先看資料離線化儲存的方法 state temp offline data.i 0 offline data.estimate path.push back x offline data.real path.push ...
從題解中學演算法
對於蒟蒻來講,每道題都看不懂就只能看題解,但是題解也看不懂怎麼辦呢 這篇主要記錄我遇上 感覺遇上有丶違和 的非常棒的題解,比如跳石頭的介紹二分答案的題解,講的賊棒!但是看不懂 自用自用 注 為重要,數越多,該題價值越高 我越不會 推薦 二分圖涉及到佇列 揹包問題九講 解動態規劃題的基本思考方式 揹包...