定义一个类:实现功能可以返回随机的10个数字,随机的10个字母, 随机的10个字母和数字的组合;字母和数字的范围可以指定,类似(1~100)(A~z)...
生活随笔
收集整理的這篇文章主要介紹了
定义一个类:实现功能可以返回随机的10个数字,随机的10个字母, 随机的10个字母和数字的组合;字母和数字的范围可以指定,类似(1~100)(A~z)...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#習題2:定義一個類:實現功能可以返回隨機的10個數字,隨機的10個字母,
#隨機的10個字母和數字的組合;字母和數字的范圍可以指定class RandomString():#隨機數選擇的范圍作為參數,如(1~100)字母 ('A'~'z'),大寫字母在前 按ascii值排列先后def __init__(self,start_num=0,end_num=100,start_alpha='A',end_alpha='z'):import stringif not isinstance(start_num,int) or not isinstance(end_num,int) or \not isinstance(start_alpha,str) or not isinstance(end_alpha,str) or \(start_alpha not in string.ascii_letters or end_alpha not in string.ascii_letters):print('參數類型錯誤,請重新輸入!')return Noneself.start_num=start_numself.end_num=end_numself.start_alpha=start_alphaself.end_alpha=end_alpha#生成要求數量隨機數字,num 隨機數的數量def random_digits(self,num):print('self.start_num,self.end_num:',self.start_num,self.end_num)if not isinstance(num,int):print('數字類型輸入錯誤,請重新輸入')return Nonefrom random import randintnum_list=[]for i in range(num):num_list.append(randint(self.start_num,self.end_num))return num_list#生成要求數量隨機字母,大小寫混合def random_letters(self,num):if not isinstance(num,int):print('數字類型輸入錯誤,請重新輸入')return Nonefrom random import randintimport stringall_letters=string.ascii_uppercase+string.ascii_lowercasestart_position=all_letters.find(self.start_alpha)end_position=all_letters.find(self.end_alpha)if start_position>end_position:start_position,end_position=end_position,start_positionletters_list=[]for i in range(num):letters_list.append(string.ascii_letters[randint(start_position,end_position)])return letters_listdef random_digits_letters(self,num):digits_string=list(range(self.start_num,self.end_num+1))print('digits_string',digits_string)import stringall_letters=string.ascii_uppercase+string.ascii_lowercaseprint('all_letters',all_letters)print('self.start_alpha',self.start_alpha)print('self.end_alpha',self.end_alpha)start_position=all_letters.find(self.start_alpha)end_position=all_letters.find(self.end_alpha)letters_string=list(all_letters[start_position:end_position+1])print('letters_string',letters_string)from random import choiceall_string=digits_string+letters_stringprint('all_string',all_string)all_list=[]for i in range(num):all_list.append(choice(all_string))return all_listrandomdigitalpha=RandomString(2,100,'W','e') #
print(randomdigitalpha.start_num)
print(randomdigitalpha.random_digits(10))print(randomdigitalpha.random_letters(5))print(randomdigitalpha.random_digits_letters(15))
?
轉載于:https://www.cnblogs.com/xiaoxiao075/p/10251700.html
總結
以上是生活随笔為你收集整理的定义一个类:实现功能可以返回随机的10个数字,随机的10个字母, 随机的10个字母和数字的组合;字母和数字的范围可以指定,类似(1~100)(A~z)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Navicat Premium试用期破解
- 下一篇: 解题: SDOI 2011 染色