python练习册 0002随机生成验证

这个题需要用到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)
--------------------- 
作者:RJzz 
来源:CSDN 
原文:https://blog.csdn.net/jrrrj/article/details/81039124 
版权声明:本文为博主原创文章,转载请附上博文链接!
View Code

以下是题解代码

import random
import string


def generate(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+“
”)


generate(10, 20)

没看懂string,ascii_uppercase+string.digits的含义但是能猜个大概,而后查的官方文档,自己英语也不是太烂啊,哈哈

whitespace = ' 	

vf'
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

参考链接

https://blog.csdn.net/roytao2/article/details/53433373

https://blog.csdn.net/jrrrj/article/details/81039124

原文地址:https://www.cnblogs.com/bianzhuo/p/9832365.html