python練習冊 0002隨機生成驗證

2022-03-22 23:19:27 字數 2789 閱讀 5359

這個題需要用到random庫的方法,不用就會忘,暫把random庫的常用方法貼出來

import

random

import

string #

隨機整數

#randint(a, b),生成a~b之間的隨機數a<=b

#c_int = random.randint(100, 1) 錯誤

a_int = random.randint(10, 20)

b_int = random.randint(20, 20) #

randrange(a, b, c)以c為步長生成a~b之間的隨機數

a_range = random.randrange(10, 20, 3) #

random.random() 隨機浮點數

#隨機浮點數

#uniform(a, b),生成a~b之間的隨機浮點數

a_uniform = random.uniform(1, 100)

#隨機字元

#random.choice('abc')

a_choice = random.choice('

abc')

#多個字元中選取特定數量的字元

#random.sample('abcdef', 3)

#返回值為list

a_sample = random.sample('

abcdef

', 3) #

從多個字元中選取特地數量的字元組成字串

#python3中移除了string.join()方法,使用全域性的join()

a = ''.join(random.sample('

abcbdjakbsdjkb

', 3)

view code

以下是題解**

import

random

import

string

defgenerate(length, num):

file = open('

./code.txt

', 'w'

)

for i in

range(num):

s = ''.join((random.sample(string.ascii_uppercase + string.digits, length))file.write(s+「\n」)

generate(10, 20)

沒看懂string,ascii_uppercase+string.digits的含義但是能猜個大概,而後查的官方文件,自己英語也不是太爛啊,哈哈

whitespace = '

\t\n\r\v\f

'ascii_lowercase = '

abcdefghijklmnopqrstuvwxyz

'ascii_uppercase = '

abcdefghijklmnopqrstuvwxyz

'ascii_letters = ascii_lowercase +ascii_uppercase

digits = '

0123456789

'hexdigits = digits + '

abcdef

' + '

abcdef

'octdigits = '

01234567

'punctuation = r"""

!"#$%&'()*+,-./:;<=>?@[\]^_`~

"""printable = digits + ascii_letters + punctuation + whitespace

哈哈哈。補上常用的string的屬性。

最後還有join方法,list轉str

先看一下str>>list

str1 = "

12345

"list1 =list(str1)

print

list1

str2 = "

123 sjhid dhi

"list2 = str2.split() #

or list2 = str2.split(" ")

print

list2

str3 = "

www.google.com

"list3 = str3.split("."

)print

list3

輸出結果['1

', '

2', '

3', '

4', '5'

]['123

', '

sjhid

', '

dhi'][

'www

', '

google

', '

com']

最後list轉str

str4 = ""

.join(list3)

print

str4

str5 = "."

.join(list3)

print

str5

str6 = "

".join(list3)

print str6

輸出結果wwwgooglecom

www.google.com

www google com

參考鏈結

python練習冊 0002隨機生成驗證

這個題需要用到random庫的方法,不用就會忘,暫把random庫的常用方法貼出來 import random import string 隨機整數 randint a,b 生成a b之間的隨機數a b c int random.randint 100,1 錯誤 a int random.randi...

python練習冊 第0002題

將 0001 題生成的 200 個啟用碼 或者優惠券 儲存到 mysql 關係型資料庫中。這道題是送分題,就是讓人熟悉一下鏈結資料庫以及mysql的使用。import pymysql import random import string def generate length s join ran...

Python練習冊 二 隨機啟用碼

bin python3 import random defcreate list base for x in range 65 91 生成26個大寫的字母 a str chr x 生成對應的ascii碼對應的字串 for x in range 97 123 生成26個小寫字母 a str chr x...