python生成1到100之间随机数python随机⽣成字母和数字的混合字符串_⽤python⽣成数字、字母和特殊字符混合的字。。。
1、⽣成固定长度的数字、字母和特殊字符混合的字符串(定义⼀个类,写在⽅法⾥)
import string
import random
class test():
def function(self):
list = [chr(i) for i in range(65,91)] + [chr(i) for i in range(97,123)] + [ str(i) for i in range(10)] + ['.','-','~','_'] #⼤写字母+⼩写字母+数字 +特殊字符.-_~
num = random.sample(list,10) #输出10个固定长度的组合字符
str1=''
value = str1.join(num) #将取出的⼗个随机数进⾏重新合并
print (value)
#这⾥定义了类和⽅法,如果只要功能,直接取⽅法⾥的内容即可
a = test()
a.function()
2、⽣成固定长度不以数字开头的数字、字母和特殊字符混合的字符串(直接写)
import random
list = [chr(i) for i in range(65,91)] + [chr(i) for i in range(97,123)] + [ str(i) for i in range(10)] + ['.','-','~','_'] #⼤写字母+⼩写字母+数字 +特殊字符.-_~
num = random.sample(list,10) #输出10个固定长度的组合字符
str1=''
value = str1.join(num) #将取出的⼗个随机数进⾏重新合并
if not value[0].isdigit():
print (value)
3、⽣成可⾃定义长度的数字、字母和特殊字符混合的字符串(写在⽅法⾥)
import random
def strGen(num):
list1= [chr(i) for i in range(65,91)] + [chr(i) for i in range(97,123)] + [ str(i) for i in range(10)] + ['.','-','~','_']
value=""
for i in range(num):
value = value + list1[random.randint(0, len(list1)-1)]
return value
strGen(random.randint(1,100)) #随机取[1,100]之间的数字
注意:
1、python类⾥的⽅法都要加个self变量,否则会报错
Traceback (most recent call last): TypeError: function() takes 0 positional arguments but 1 was given 2、⽅法写在类⾥,如果没有创建对象,会报不到⽅法的错误
Traceback (most recent call last): NameError: name 'openUrl' is not defined