import random
# 功能:生成指定長度隨機數字+字母的驗證碼
def txt_str1(num):
# 驗證碼長度
i = num
char_strings = ""
for i in range(0, i):
# 臨時隨機數做判斷選擇是出數字還是字母
temp = random.randrange(0, 11)
if temp >= 5:
# 產生數字(1-9)
char_strings += str(random.randrange(0, 10))
else:
# 臨時隨機數做判斷選擇是出小寫字母還是大寫字母
temp = random.randrange(0, 11)
if temp >= 5:
# 產生小寫字母(a-z)
char_strings += chr(random.randrange(97, 123))
else:
# 產生產生大寫字母(A-Z)
char_strings += chr(random.randrange(65, 91))
return char_strings
# 列表式隨機生成驗證碼
def txt_str2(num):
# 驗證碼長度
i = num
# 指定會出現的字符串
lists = ("0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u",
"v", "x", "y", "z",
"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U",
"V", "X", "Y", "Z",)
char_strings = ""
for i in range(0, i):
char_strings += str(lists[random.randrange(0, 60)])
return char_strings
# 精簡方式
def txt_str3(num):
char_strings = ''
for i in range(num):
number = random.randrange(48, 58) # 數字0-9
abc = random.randrange(97, 123) # 字母a-z
ABC = random.randrange(65, 91) # 字母A-Z
select = random.choice([number, abc, ABC]) # 隨機選擇一個
char_strings += chr(select)
return char_strings
if __name__ == "__main__":
print(txt_str1(6))
print(txt_str2(6))
print(txt_str3(6))
# ASCII碼:
# 123-126 { | } ~
# 97-122 小寫字母a-z
# 91-96 : ; < = > ? @
# 65-90 大寫字母A-Z
# 58-64 [ \ ] ^ _ `
# 48-57 數字0-9
# 33-47 ! " # $ % & ' ( ) * + , - . /
# 可見符:!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~