案例:编写一段Python代码,生成一个随机的4位验证码
提前:定义一个字符串-------验证码范围,一般是下面字符串范围,有可能全是数字,有可能全是字母,有可能数字+字母组合。
str1 = "0123456789abcdefghijkmnpqrstuvwxyzABCDEFGHIJKLMNPQRSTUVWXYZ"
编写Python代码:
① 思考:如果只生成4个字符的验证码,如何只保证从字符串中读取4次(while循环、for循环)
相关链接Python----range方法(函数)-CSDN博客
Python-----for循环基本语法及其应用---对序列进行遍历循环--内部会自动更新计数器(类似while循环里面的 i += 1)-CSDN博客
② 思考:如果随机的从str1字符串中读取4个字符?random.randint()生成随机数
相关链接Python--随机出拳(random)--if判断--综合案例练习:石头剪刀布-CSDN博客
random.randint(0, 2) --------这个里面 数字,括号就是 从 0 到 2的整型数字,可以选 0 1 2。
③ 思考:如果从字符串提取出某个字符?答:使用索引下标,str1[索引下标]
相关链接Python---字符串中的查找方法--index()--括号里是要获取的字符串-CSDN博客
代码
import random # 1、定义一个字符串 str1 = "0123456789abcdefghijkmnpqrstuvwxyzABCDEFGHIJKLMNPQRSTUVWXYZ" code = "" # 2、编写循环,只循环4次 for i in range(4): # 0 1 2 3 # 3、随机获取str1中的某个字符 len()计算容器中元素个数 从1开始计算,不是下标索引从0开始 # 因为索引,是从0开始,所以,len(str1)需要减1才可以,否则,会超过索引个数报错。 index = random.randint(0, len(str1) - 1) # 这里求得是索引的下标位置,len()要结合下标 code += str1[index] # 字符串,每次取到后,有了对应不同的索引下标,相互相加即可 # 4、打印4位随机验证码 print(code)