python3生成随机数实例


Posted in Python onOctober 20, 2014

本文实例讲述了python3生成随机数的方法。分享给大家供大家参考。具体实现方法如下:

该实例是根据一本书上看到过一个随机数的小程序,经过自己改动,变为了一个猜数字的小游戏,现在在python3下重写了一遍。

这是一个控制台下的猜数程序,winxp+python3.2+eric5和IDLE测试通过,但直接用winxp的命令行运行有问题,原因还未知,慢慢找。ubuntu+python3.1测试通过。

具体实现代码如下:

# -*- coding: utf-8 -*-

import Image,ImageDraw,ImageFont

import random

import math, string  

 

class RandomChar():

  """用于随机生成汉字"""

  @staticmethod

  def Unicode():

    val = random.randint(0x4E00, 0x9FBF)

    return unichr(val)  

 

  @staticmethod

  def GB2312():

    head = random.randint(0xB0, 0xCF)

    body = random.randint(0xA, 0xF)

    tail = random.randint(0, 0xF)

    val = ( head << 8 ) | (body << 4) | tail

    str = "%x" % val

    return str.decode('hex').decode('gb2312')  

 

class ImageChar():

  def __init__(self, fontColor = (0, 0, 0),

                     size = (100, 40),

                     fontPath = 'wqy.ttc',

                     bgColor = (255, 255, 255),

                     fontSize = 20):

    self.size = size

    self.fontPath = fontPath

    self.bgColor = bgColor

    self.fontSize = fontSize

    self.fontColor = fontColor

    self.font = ImageFont.truetype(self.fontPath, self.fontSize)

    self.image = Image.new('RGB', size, bgColor)  

 

  def rotate(self):

    self.image.rotate(random.randint(0, 30), expand=0)  

 

  def drawText(self, pos, txt, fill):

    draw = ImageDraw.Draw(self.image)

    draw.text(pos, txt, font=self.font, fill=fill)

    del draw  

 

  def randRGB(self):

    return (random.randint(0, 255),

           random.randint(0, 255),

           random.randint(0, 255))  

 

  def randPoint(self):

    (width, height) = self.size

    return (random.randint(0, width), random.randint(0, height))  

 

  def randLine(self, num):

    draw = ImageDraw.Draw(self.image)

    for i in range(0, num):

      draw.line([self.randPoint(), self.randPoint()], self.randRGB())

    del draw  

 

  def randChinese(self, num):

    gap = 5

    start = 0

    for i in range(0, num):

      char = RandomChar().GB2312()

      x = start + self.fontSize * i + random.randint(0, gap) + gap * i

      self.drawText((x, random.randint(-5, 5)), RandomChar().GB2312(), self.randRGB())

      self.rotate()

    self.randLine(18)  

 

  def save(self, path):

    self.image.save(path)

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
python下如何查询CS反恐精英的服务器信息
Jan 17 Python
Python 列表理解及使用方法
Oct 27 Python
Python文本统计功能之西游记用字统计操作示例
May 07 Python
Django实现全文检索的方法(支持中文)
May 14 Python
将python图片转为二进制文本的实例
Jan 24 Python
python3.7简单的爬虫实例详解
Jul 08 Python
python 日期排序的实例代码
Jul 11 Python
Python绘制股票移动均线的实例
Aug 24 Python
使用Python将图片转正方形的两种方法实例代码详解
Apr 29 Python
Python如何爬取qq音乐歌词到本地
Jun 01 Python
Python爬虫爬取新闻资讯案例详解
Jul 14 Python
Python竟然能剪辑视频
May 25 Python
Python入门篇之面向对象
Oct 20 #Python
Python入门篇之数字
Oct 20 #Python
Python入门篇之正则表达式
Oct 20 #Python
Python入门篇之文件
Oct 20 #Python
Python入门篇之函数
Oct 20 #Python
Python入门篇之条件、循环
Oct 17 #Python
Python入门篇之字典
Oct 17 #Python
You might like
《魔兽争霸3》重制版究竟重制了什么?玩家:这么糊弄真的好吗?
2020/05/04 魔兽争霸
使用Limit参数优化MySQL查询的方法
2008/11/12 PHP
PHP中的表达式简述
2016/05/29 PHP
对比PHP对MySQL的缓冲查询和无缓冲查询
2016/07/01 PHP
php的laravel框架快速集成微信登录的方法
2016/12/12 PHP
PHP用函数嵌入网站访问量计数器
2017/10/27 PHP
javascript import css实例代码
2008/07/18 Javascript
解决iframe的frameborder在chrome/ff/ie下的差异
2010/08/12 Javascript
JQuery 1.3.2以上版本中出现pareseerror错误的解决方法
2011/01/11 Javascript
JavaScript词法作用域与调用对象深入理解
2012/11/29 Javascript
jquery easyui combox一些实用的小方法
2013/12/25 Javascript
基于jquery实现导航菜单高亮显示(两种方法)
2015/08/23 Javascript
javascript基本语法
2016/05/31 Javascript
网页瀑布流布局jQuery实现代码
2016/10/21 Javascript
vue+element-ui集成随机验证码+用户名+密码的form表单验证功能
2018/08/05 Javascript
基于canvasJS在PHP中制作动态图表
2020/05/30 Javascript
[53:03]Optic vs TNC 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python使用正则表达式检测密码强度源码分享
2014/06/11 Python
JPype实现在python中调用JAVA的实例
2017/07/19 Python
Python面向对象编程基础解析(二)
2017/10/26 Python
python编写Logistic逻辑回归
2020/12/30 Python
python使用KNN算法手写体识别
2018/02/01 Python
python3+PyQt5实现拖放功能
2018/04/24 Python
keras的backend 设置 tensorflow,theano操作
2020/06/30 Python
Python实现PS滤镜中的USM锐化效果
2020/12/04 Python
希尔顿酒店中国网站:Hilton中国
2017/03/11 全球购物
BRASTY捷克:购买香水、化妆品、手袋和手表
2017/07/12 全球购物
会计电算化专业毕业生自荐信
2013/12/20 职场文书
中学生运动会入场词
2014/02/12 职场文书
党的群众路线教育实践活动宣传方案
2014/02/23 职场文书
教师群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
小学生组织委员竞选稿
2015/11/21 职场文书
八年级数学教学反思
2016/02/17 职场文书
复制别人的成功真的会成功吗?
2019/10/17 职场文书
用Python简陋模拟n阶魔方
2021/04/17 Python
vue3中provide && inject的使用
2021/07/01 Vue.js