日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

Python隨機(jī)驗(yàn)證碼生成和join?字符串的問(wèn)題解析_python

作者:小熊貓愛(ài)恰飯 ? 更新時(shí)間: 2022-06-20 編程語(yǔ)言

函數(shù):string.join()

Python中有join()和os.path.join()兩個(gè)函數(shù),具體作用如下:

join(): 連接字符串?dāng)?shù)組。將字符串、元組、列表中的元素以指定的字符(分隔符)連接生成一個(gè)新的字符串
os.path.join(): 將多個(gè)路徑組合后返回

一、函數(shù)說(shuō)明

1、join()函數(shù)

語(yǔ)法:‘sep’.join(seq)

參數(shù)說(shuō)明

  • sep:分隔符。可以為空
  • seq:要連接的元素序列、字符串、元組、字典

上面的語(yǔ)法即:以sep作為分隔符,將seq所有的元素合并成一個(gè)新的字符串

返回值:返回一個(gè)以分隔符sep連接各個(gè)元素后生成的字符串

2、os.path.join()函數(shù)

語(yǔ)法: os.path.join(path1[,path2[,…]])

返回值:將多個(gè)路徑組合后返回

注:第一個(gè)絕對(duì)路徑之前的參數(shù)將被忽略

#對(duì)序列進(jìn)行操作(分別使用' '與':'作為分隔符)
  
>>> seq1 = ['hello','good','boy','doiido']

>>> print ' '.join(seq1)
hello good boy doiido
>>> print ':'.join(seq1)
hello:good:boy:doiido
    
#對(duì)字符串進(jìn)行操作
>>> seq2 = "hello good boy doiido"
>>> print ':'.join(seq2)
h:e:l:l:o: :g:o:o:d: :b:o:y: :d:o:i:i:d:o
#對(duì)元組進(jìn)行操作  
>>> seq3 = ('hello','good','boy','doiido')
>>> print ':'.join(seq3)
#對(duì)字典進(jìn)行操作
>>> seq4 = {'hello':1,'good':2,'boy':3,'doiido':4}
>>> print ':'.join(seq4)
boy:good:doiido:hello
#合并目錄  
>>> import os
>>> os.path.join('/hello/','good/boy/','doiido')
'/hello/good/boy/doiido'

隨機(jī)驗(yàn)證碼生成

import random
li = []
for i  in range(6):
    r = random.randrange(0,5)
    print(r)
    if r == 2 or r ==4:
        num = random.randrange(0,10)
        li.append(str(num))
    else:
        tmp = random.randrange(65,91)
        c = chr(tmp)
        li.append(c)

    
print(li)
re = "".join(li)    
print(re)

補(bǔ)充介紹下面看下python生成隨機(jī)驗(yàn)證碼

思路:

1、新增一個(gè)空列表

2、把ASCII表的字符添加到空列表

3、從列表中生成6個(gè)隨機(jī)數(shù)

4、把生成的列表拼接成字符串,輸出即可

import random,string
#方法1
li_code = []
for i in range(65,91):#大寫字母A-Z
? ? li_code.append(chr(i))
for j in range(97,123):#小寫字母a-z
? ? li_code.append(chr(j))
for k in range(48,58):#數(shù)字0-9
? ? li_code.append(chr(k))
code = random.sample(li_code,6)
ran_code = "".join(code)
print(ran_code)
import random,string
#方法2
str1 = "0123456789"
str2 = string.ascii_letters
str3 = str1+str2
code = random.sample(str3,6)
l_code = "".join(code)
print(l_code)
import random,string
#方法3
s_code = string.ascii_letters+string.digits
code = random.sample(s_code,6)
print("".join(code))

原文鏈接:https://blog.csdn.net/m0_67575344/article/details/124256783

欄目分類
最近更新