1. #习题2:定义一个类:实现功能可以返回随机的10个数字,随机的10个字母,
  2. #随机的10个字母和数字的组合;字母和数字的范围可以指定
  3.  
  4. class RandomString():
  5.  
  6. #随机数选择的范围作为参数,如(1~100)字母 ('A'~'z'),大写字母在前 按ascii值排列先后
  7. def __init__(self,start_num=0,end_num=100,start_alpha='A',end_alpha='z'):
  8. import string
  9. if not isinstance(start_num,int) or not isinstance(end_num,int) or \
  10. not isinstance(start_alpha,str) or not isinstance(end_alpha,str) or \
  11. (start_alpha not in string.ascii_letters or end_alpha not in string.ascii_letters):
  12. print('参数类型错误,请重新输入!')
  13. return None
  14. self.start_num=start_num
  15. self.end_num=end_num
  16. self.start_alpha=start_alpha
  17. self.end_alpha=end_alpha
  18.  
  19. #生成要求数量随机数字,num 随机数的数量
  20. def random_digits(self,num):
  21. print('self.start_num,self.end_num:',self.start_num,self.end_num)
  22. if not isinstance(num,int):
  23. print('数字类型输入错误,请重新输入')
  24. return None
  25. from random import randint
  26. num_list=[]
  27. for i in range(num):
  28. num_list.append(randint(self.start_num,self.end_num))
  29. return num_list
  30.  
  31. #生成要求数量随机字母,大小写混合
  32. def random_letters(self,num):
  33. if not isinstance(num,int):
  34. print('数字类型输入错误,请重新输入')
  35. return None
  36. from random import randint
  37. import string
  38. all_letters=string.ascii_uppercase+string.ascii_lowercase
  39. start_position=all_letters.find(self.start_alpha)
  40. end_position=all_letters.find(self.end_alpha)
  41. if start_position>end_position:
  42. start_position,end_position=end_position,start_position
  43.  
  44. letters_list=[]
  45. for i in range(num):
  46. letters_list.append(string.ascii_letters[randint(start_position,end_position)])
  47. return letters_list
  48.  
  49. def random_digits_letters(self,num):
  50. digits_string=list(range(self.start_num,self.end_num+1))
  51. print('digits_string',digits_string)
  52. import string
  53. all_letters=string.ascii_uppercase+string.ascii_lowercase
  54. print('all_letters',all_letters)
  55. print('self.start_alpha',self.start_alpha)
  56. print('self.end_alpha',self.end_alpha)
  57. start_position=all_letters.find(self.start_alpha)
  58. end_position=all_letters.find(self.end_alpha)
  59. letters_string=list(all_letters[start_position:end_position+1])
  60. print('letters_string',letters_string)
  61.  
  62. from random import choice
  63. all_string=digits_string+letters_string
  64. print('all_string',all_string)
  65. all_list=[]
  66. for i in range(num):
  67.  
  68. all_list.append(choice(all_string))
  69. return all_list
  70.  
  71. randomdigitalpha=RandomString(2,100,'W','e') #
  72. print(randomdigitalpha.start_num)
  73. print(randomdigitalpha.random_digits(10))
  74.  
  75. print(randomdigitalpha.random_letters(5))
  76.  
  77. print(randomdigitalpha.random_digits_letters(15))

定义一个类:实现功能可以返回随机的10个数字,随机的10个字母, 随机的10个字母和数字的组合;字母和数字的范围可以指定,类似(1~100)(A~z)的更多相关文章

  1. Java TreeSet集合排序 && 定义一个类实现Comparator接口,覆盖compare方法 && 按照字符串长度排序

    package TreeSetTest; import java.util.Iterator; import java.util.TreeSet; import javax.management.Ru ...

  2. JAVA 类的定义(定义一个类,来模拟“学生”)

    package Code413;/*定义一个类,来模拟“学生”属性 (是什么) 姓名 年龄行为(能做什么) 吃饭 睡觉 学习对应到Java的类当中 成员变量(属性) String nanme; //姓 ...

  3. 怎样用Javascript定义一个类

    其实Javascript中没有类这个定义,但是有类这个概念.很多人都写过这样的代码,对,没错,就是如下代码,清晰的不能再清晰了,就是一个关键字 function,然后定义一个方法名,方法名后紧跟一对括 ...

  4. Python3.x:定义一个类并且调用

    Python3.x:定义一个类并且调用 1,定一个类Shrjj(其中有属性:name, jjzt,fbsjj,etf,lof,fjlof): class Shrjj(object): def __in ...

  5. 103-PHP定义一个类

    <?php class ren{ //定义人类 } class mao{ //定义猫类 } new ren(); //实例化人类 new mao(); //实例化猫类 new mao(); // ...

  6. 用es6的class关键字定义一个类

    es6新增class关键字使用方法详解. 通过class关键字,可以定义类.基本上,ES6的class可以看作只是一个语法糖,它的绝大部分功能,ES5都可以做到,新的class写法只是让对象原型的写法 ...

  7. 定义一个类Point,代表一个点,public属性有x和y,方法有显示点坐标 show(),构造函数有两个参数分别给x,y赋值,在main方法中构造两个对象,再创建一方法(getMiddle)为取两个点构成线段的中点的坐标,参数为2个点对象,调用此方法后得到一个新的点,编写Application,显示该对象的坐标值。

    这个题让我更加明白了类创建对象的实质 代码中用到:1.对象作形参;2.对象作返回值 以下用代码具体分析: class Point1{ public double x; public double y; ...

  8. 按要求编写一个Java应用程序: (1)定义一个类,描述一个矩形,包含有长、宽两种属性,和计算面积方法。 (2)编写一个类,继承自矩形类,同时该类描述长方体,具有长、宽、高属性, 和计算体积的方法。 (3)编写一个测试类,对以上两个类进行测试,创建一个长方体,定义其长、 宽、高,输出其底面积和体积。

    package jvxing; public class Jvxing { //成员变量 private double width; private double chang; public doub ...

  9. 28.按要求编写一个Java应用程序: (1)定义一个类,描述一个矩形,包含有长、宽两种属性,和计算面积方法。 (2)编写一个类,继承自矩形类,同时该类描述长方体,具有长、宽、高属性, 和计算体积的方法。 (3)编写一个测试类,对以上两个类进行测试,创建一个长方体,定义其长、 宽、高,输出其底面积和体积。

    //矩形父类 package d922A; public class Rect { private double l,w; Rect(double c,double k) { l=c; w=k; } ...

随机推荐

  1. 要开始恶补Layer4-7 TCP/IP相关的姿势了,今天立个Flag

    今天开区域销售会,被老板K了一顿大的!(:/手动委屈:) 说产品出来这么久,怎么没看到你们的跟接触客户的使用报告记录,一年快到头了,试用客户才个位数?你们了解自己的产品吗,然后轮着上去一个个做功能演示 ...

  2. 关于lib和dll

    关于lib和dll 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 说明:这里说的就是静态链接库LIB和动态链接库DL,有些时候经常弄混淆这两个东西,这里基于 ...

  3. 排序算法的实现之Javascript(常用)

    排序算法的实现之Javascript 话不多说,直接代码. 1.冒泡排序 1.依次比较相邻的两个数,如果前一个比后一个大,则交换两者的位置,否则位置不变 2.按照第一步的方法重复操作前length-1 ...

  4. amazeUI modal 模态框 关闭属性

    $('#my-prompt').modal({ relatedTarget: this, closeViaDimmer: false, // 点击外部空白处不关闭弹窗 closeOnConfirm:f ...

  5. linux系统中RAID10磁盘冗余阵列配置

    介绍:RAID10:需要至少四块(含)硬盘,兼具速度和安全性,但成本很高,RAID10用两个磁盘做RAID0,用其他两个做RAID1当备份. 配置流程: 第一步:在原有基础上为磁盘再填入五块磁盘(至少 ...

  6. 乐字节Java反射之四:反射相关操作

    大家好,乐字节小乐继续为Java初学者讲述Java基础知识.上次说到乐字节Java反射之三:方法.数组.类加载器,这次是Java反射之四:反射相关操作 1.操作属性 //1.获取Class对象 Cla ...

  7. 滑动窗口协议(Sliding Window Protocol)

    滑动窗口协议(Sliding Window Protocol),属于TCP协议的一种应用,用于网络数据传输时的流量控制,以避免拥塞的发生.该协议允许发送方在停止并等待确认前发送多个数据分组.由于发送方 ...

  8. [CF620E]New Year Tree_dfs序_线段树_bitset

    New Year Tree 题目链接:http://codeforces.com/problemset/problem/620/E 数据范围:略. 题解: 转化成序列问题,发现颜色种数特别少,暴力用数 ...

  9. XDomainRequest IE8&amp;IE9 cors 跨域通讯的处理方法

       版权声明:避免百度一下通片同一篇文章,未经博主允许不得转载.本博客作为笔记使用,正确性请自行验证. https://blog.csdn.net/u014071104/article/detail ...

  10. Vue基础知识学习(后端)

    ### Vue学习(后端) Vue安装 -引入文件安装,直接在官网下载vue.js引入项目中 -直接引用CDN -NPM安装(构建大型应用使用,在这不用) -命令行工具(构建大型单页应用,在这不用) ...