实例笔记之生成随机号码

扩展知识 - yield(生成器)

随机生成验证码

示例代码:

import random # 导入标准模块中的random

if __name__ == '__main__':

check_code = "" # 保存验证码的变量

for i in range(4): # 循环4次

index = random.randrange(0, 4) # 随机生成0~3中的一个数

if index != i and index+1 != i: # 从此开始就是随机生成一个字符或数字(不知道上面代码到底产生了几(因为随机),也不需要知道,反正结果能出4个字符验证码即可)

check_code += chr(random.randint(97, 122)) # 随机生成a~z中的一个小写字母

elif index+1 == i:

check_code += chr(random.randint(65, 90)) # 随机生成A~Z中的一个大写字母

else:

check_code += str(random.randint(1, 9)) # 随机生成1~9中的一个数字

print("验证码:", check_code) # 输出生成的验证码

执行结果:

验证码: xufz # 随机不一定是这个

以上是生成4位随机验证码示例代码,需要位数更多改一下数字即可。

生成大乐透号码

原始代码:

"""

输入注数生成大乐透号码

红球取值范围1-36,篮球1-12

"""

import random

class GreatLotto:

"""

需要一个生成次数count

"""

global result # 声明全局变量

result = []

def __init__(self, count):

self.count = count

def randoms(self):

"""

:return: 返回传入次数的随机彩票号码(返回的是一个整体列表)

"""

for i in range(self.count):

for j in range(7):

if j <= 4:

index1 = random.randrange(1, 36)

result.append(index1)

if j > 4:

index1 = random.randrange(1, 13)

result.append(index1)

return result # 返回生成结果

def start(self):

"""

:return: 根据传入的次数判断列表取值的开始数

"""

for l in range(self.count):

if l < 1:

two = l

else:

two = l * 7

yield two # yield是生成器,将每次循环生成的结果储存(如果使用了return会结束循环,导致只能执行一次)

def ends(self, rer):

"""根据传入的次数判断列表取值的结束数"""

for k in range((len(rer) + 1) // 7): # 小数不能循环我们用地板除

one = (k + 1) * 7

yield one # yield是生成器,将每次循环生成的结果储存(如果使用了return会结束循环,导致只能执行一次)

if __name__ == '__main__':

num = int(input("请输入需要生成的注数:"))

Great = GreatLotto(num) # 实例化GreatLotto 并将输入的次数传入

lists = Great.randoms() # 得到返回的生成结果

zips = zip(Great.start(), Great.ends(lists)) # 压缩两个函数 使for循环可以同时循环两个对象

for m, n in zips: # 遍历两个函数的生成器

print(lists[m:n])

执行结果:

请输入需要生成的注数:3

[6, 15, 9, 34, 9, 8, 8]

[17, 18, 6, 15, 6, 5, 2]

[9, 29, 23, 22, 32, 1, 8]

改进版本:

"""

输入注数生成大乐透号码

红球取值范围1-36,篮球1-12

"""

import random

class GreatLotto:

"""

需要一个生成次数count

"""

global result # 声明全局变量

result = []

def __init__(self, count):

self.count = count

def randoms(self):

"""

:return: 返回传入次数的随机彩票号码(返回的是一个整体列表)

"""

for i in range(self.count):

for j in range(7):

if j <= 4:

index1 = random.randrange(1, 36)

result.append(index1)

if j > 4:

index1 = random.randrange(1, 13)

result.append(index1)

return result # 返回生成结果

def start_end(self):

"""

:return: 根据传入的次数判断列表取值的开始数和结束数

"""

for k in range(self.count):

if k < 1:

start1 = k

else:

start1 = k * 7

end1 = start1 + 7

yield end1, start1 # yield是生成器,将每次循环生成的结果储存(如果使用了return会结束循环,导致只能执行一次)

if __name__ == '__main__':

try:

num = int(input("请输入需要生成的注数:"))

except ValueError:

print('输入的格式错误!!!')

num = int(input("请重新输入需要生成的注数:"))

Great = GreatLotto(num) # 实例化GreatLotto 并将输入的次数传入

lists = Great.randoms() # 得到返回的生成结果

for end, start in Great.start_end(): # 遍历两个函数的生成器

print(lists[start:end]) # 输出最终生成的结果

执行结果:

请输入需要生成的注数:3

[32, 27, 30, 2, 28, 10, 11]

[25, 20, 15, 11, 34, 3, 3]

[15, 11, 8, 15, 26, 7, 5]

大乐透号码生成器python_Python生成随机验证码,大乐透号码相关推荐

  1. python大乐透号码生成器_Python生成随机验证码,大乐透号码

    随机生成验证码 示例代码: import random # 导入标准模块中的random if __name__ == '__main__': check_code = "" # ...

  2. 大乐透python预测程序_Python生成随机验证码,大乐透号码

    随机生成验证码 示例代码: import random # 导入标准模块中的random if __name__ == '__main__': check_code = "" # ...

  3. python编程实战(二):一文教你生成随机验证码!大小写字母与数字组合,位数可以控制

    随机验证码的生成 前言 正文 实现 代码 效果 前言 验证码验证,是常见的安全验证的一种方式,可以用来杜绝脚本和机器人操作等等: 除了本文介绍的简单的验证码之外,还有拼图验证.文字顺序验证等常见的验证 ...

  4. php生成随机验证码

    1.创建一个code.php文件,来生成随机验证码图片 1 <?php 2 /** 3 * Created by PhpStorm. 4 * User: ping 5 * Date: 2018/ ...

  5. python随机生成验证码_Python生成随机验证码

    #生成随机验证码 from PIL importImagefrom io importBytesIOfrom PIL importImageDraw,ImageFontdefcheck_code(re ...

  6. struts2生成随机验证码图片

    之前想做一个随机验证码的功能,自己也搜索了一下别人写的代码,然后自己重新用struts2实现了一下,现在将我自己实现代码贴出来!大家有什么意见都可以指出来! 首先是生成随机验证码图片的action: ...

  7. React tsx 生成随机验证码

    React tsx 生成随机验证码 最近开发React 使用tsx编写,没有找到什么好的随机生成验证码的插件,自己就手撸了一个,废话不多话,直接上代码. tsx文件如下: React代码片. impo ...

  8. JavaScript 生成随机验证码

    JavaScript 生成随机验证码 文章目录 JavaScript 生成随机验证码 Math对象下 random方法

  9. 接口自动化-接口请求数据准备-如何生成随机姓名、年龄、号码、email等

    在做接口自动化测试的时候,经常需要一些随机的测试数据,这里提供一个个人使用的生成随机值的工具类,主要内容都已在代码中注释: package com.gvbrain.appApi.Utils;impor ...

最新文章

  1. 我和freelancer不得不说的故事5 --- 心理落差
  2. 2013年蓝桥杯省赛C/C++A组真题解析
  3. 后台管理页面布局(左侧导航长度根据右侧内容无限延伸)
  4. redis的bigkeys命令之原理
  5. android驱动代码,GitHub - rumengsuifeng/AndroidDrivers: Android驱动的代码
  6. CCScene切换的所有特效(28种)以及设置屏幕横竖屏!
  7. mysql数据库简单语句
  8. 怎样设置计算机安全模式,电脑如何设置F8进入安全模式?
  9. Golang 须知知识点
  10. python12306抢票_Python实例--12306的抢票功能
  11. win11 22H2任务栏一条白线如何消除?
  12. 你见过马化腾18年前编写的代码吗?
  13. 对话洪小文:微软为什么能够持续保持竞争力和创新力?
  14. androidStudio连接不上模拟器(夜神模拟器)
  15. ECharts饼图制作分析
  16. win7计算机组策略打不开,Win7系统组策略打不开怎么办?组策略被锁住了怎么处理?...
  17. 回到1996,一起领略 JavaBeans 的真正力量
  18. Android开发笔记(序)
  19. 图灵 | 一站式图应用平台
  20. intellij idea weblogic 下面 怎么远程断点

热门文章

  1. c语言二维数组找鞍点,C语言,二维数组 找鞍点
  2. Android 计步器开发
  3. 烧脑大片《盗梦空间》与户外广告有什么关系?
  4. ARM 触摸屏 TouchScreen
  5. HTML5期末大作业:商城网站设计——仿团购商城(1页) 简单个人网页设计作业 静态HTML旅行主题网页作业 DW个人网站模板下载 大学生简单个人网页作品代码 个人网页制作 学生个人网页Dreamwe
  6. 全新发布,Windows 11 正式版正式推送
  7. 聊天室html布局,h5聊天室模板|仿微信聊天室html5
  8. 做视频直播的视频服务器配置类型
  9. 2021上海交大附中高考成绩查询,2021年上海高中排名
  10. 正则基础之——捕获组(capture group)