这个题需要用到random库的方法,不用就会忘,暂把random库的常用方法贴出来
import randomimport 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)# 返回值为lista_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 版权声明:本文为博主原创文章,转载请附上博文链接!
以下是题解代码
import randomimport stringdef 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+“\n”)generate(10, 20)
没看懂string,ascii_uppercase+string.digits的含义但是能猜个大概,而后查的官方文档,自己英语也不是太烂啊,哈哈
whitespace = ' \t\n\r\v\f'ascii_lowercase = 'abcdefghijklmnopqrstuvwxyz'ascii_uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'ascii_letters = ascii_lowercase + ascii_uppercasedigits = '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 str4str5 = ".".join(list3)print str5str6 = " ".join(list3)print str6
输出结果wwwgooglecomwww.google.comwww google com
参考链接
https://blog.csdn.net/roytao2/article/details/53433373
https://blog.csdn.net/jrrrj/article/details/81039124