我們平常上網處處可見需要輸入驗證碼的地方,利用Python的random()子產品,其實我們隻用簡單20行代碼就能實作。下為效果圖,能識别是否正确:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5CO5cTO1YWNkRjYzcTN4gTZyYzXzITMwATMyAzLchDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
import random
#生成一個4位的包含字母和數字的随機字元串
def check_code():
checkcode = ''
for i in range(4):
current = random.randrange(0,4) #一個4位的随機字元
if current != i:
temp = chr(random.randint(65,90))
#chr傳回一個字元串,參數為ASCII碼,此處ASCII碼為65到90的随機數,
#即為所有大寫字母,97到122為所有小寫字母
else:
temp = random.randint(0,9) #0到9之内的随機數
checkcode += str(temp) #将temp轉化成字元類型
return checkcode
while True:
code = check_code()
print(code)
IN = input("請輸入驗證碼:")
if IN == code:
print("正确!")
break
else:
print("錯誤,請重新輸入!")