日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python3生成隨機數(shù)實例

系統(tǒng) 1675 0

本文實例講述了python3生成隨機數(shù)的方法。分享給大家供大家參考。具體實現(xiàn)方法如下:

該實例是根據(jù)一本書上看到過一個隨機數(shù)的小程序,經(jīng)過自己改動,變?yōu)榱艘粋€猜數(shù)字的小游戲,現(xiàn)在在python3下重寫了一遍。

這是一個控制臺下的猜數(shù)程序,winxp+python3.2+eric5和IDLE測試通過,但直接用winxp的命令行運行有問題,原因還未知,慢慢找。ubuntu+python3.1測試通過。

具體實現(xiàn)代碼如下:

復(fù)制代碼 代碼如下:
# -*- 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程序設(shè)計有所幫助。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 乐昌市| 红安县| 杨浦区| 阜阳市| 宁河县| 冀州市| 南康市| 炉霍县| 仲巴县| 江山市| 天台县| 天水市| 堆龙德庆县| 永昌县| 抚顺市| 江城| 桃源县| 襄樊市| 武安市| 赫章县| 浦东新区| 中宁县| 莱西市| 连山| 苏尼特左旗| 缙云县| 新建县| 红河县| 双鸭山市| 那坡县| 阿拉尔市| 青阳县| 渑池县| 兴海县| 新闻| 个旧市| 昌都县| 霍州市| 绵竹市| 炎陵县| 民县|