鱼C论坛

 找回密码
 立即注册
楼主: mengxia4

[作品展示] 自己动手写了一个双色球机选小程序

  [复制链接]
发表于 2017-12-8 14:40:16 | 显示全部楼层
import random
##  之前用Pygame写的一个双色球选号程序。

import pygame
from pygame.locals import *

BLACK = [0, 0, 0]
RED = [255, 0, 0]
GREEN = [0, 255, 0]
BLUE = [0, 0, 255]
YELLOW = [255, 255, 0]
WHITE = [255, 255, 255]

WIDTH = 800
HEIGHT = 600


pygame.init()
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption('Double Color Ball')
font1 = pygame.font.SysFont('Arial', 40)

def printText(text, y, shadow = True):
    if shadow:
        textImg = font1.render(text, True, RED)
        screen.blit(textImg, (WIDTH//2 - textImg.get_width()//2 - 2, y - 2))
    textImg = font1.render(text, True, YELLOW)
    screen.blit(textImg, (WIDTH//2 - textImg.get_width()//2, y))


class Ball(pygame.sprite.Sprite):
    def __init__(self):
        super().__init__()
        self.image = pygame.Surface(((80+20)*6+80, 80))
        self.rect = self.image.get_rect()
        self.rect.center = WIDTH//2, HEIGHT//2
        self.numbers = []
        self.selected = False
    def getNumbers(self):
        if not self.selected:
            allRedBalls = list(range(1, 34))
            redBalls = []
            for i in range(6):
                number = random.choice(allRedBalls)
                allRedBalls.remove(number)
                redBalls.append(number)
            blueBall = random.randint(1, 16)
            self.numbers = sorted(redBalls)
            self.numbers.append(blueBall)
    def update(self):
        self.image.fill(GREEN)
        self.getNumbers()
        for i in range(7):
            if i < 6:
                pygame.draw.circle(self.image, RED, (i*100+40, 40), 40)
            else:
                pygame.draw.circle(self.image, BLUE, (i*100+40, 40), 40)
            numberImg = font1.render(str(self.numbers[i]), True, YELLOW)
            numberImgRect = numberImg.get_rect()
            numberImgRect.center = (i*100+40, 40)
            self.image.blit(numberImg, numberImgRect)
        

allGroup = pygame.sprite.Group()
balls = Ball()
allGroup.add(balls)

done = False
while not done:
    for event in pygame.event.get():
        if event.type == QUIT:
            done = True
        elif event.type == MOUSEBUTTONDOWN and event.button == 1:
            if balls.selected == True:
                balls.selected = False
            else:
                balls.selected = True

    screen.fill(GREEN)
    allGroup.update()
    allGroup.draw(screen)
    printText('DOUBLE COLOR BALL', 100)
    printText('CLICK TO SELECT', 450)
    pygame.display.flip()

pygame.quit()

                               
登录/注册后可看大图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-8 14:57:06 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-12-8 14:57:06 | 显示全部楼层
import random

def selectBalls():
    count = input('请问选几注?\n')
    if (not count.isdigit()) or (count.isdigit() and str(count) == '0'):
        print('滚犊子!')
    else:            
        result = []
        for i in range(int(count)):
            red = list(range(1,34))
            random.shuffle(red)
            redBalls = sorted(red[0:6])
            blueBall = random.randint(1,16)
            result.append((redBalls, blueBall))
        for i,balls in enumerate(result):
            print('\n第{0}注:\n红球:{1}\n蓝球:{2}'.format(i+1, balls[0], balls[1]))
        print('\n祝您拿大奖!')


selectBalls()

##    >>> 
##    请问选几注?
##    5
##
##    第1注:
##    红球:[6, 9, 18, 21, 32, 33]
##    蓝球:10
##
##    第2注:
##    红球:[6, 15, 19, 26, 30, 32]
##    蓝球:10
##
##    第3注:
##    红球:[1, 5, 7, 8, 11, 32]
##    蓝球:10
##
##    第4注:
##    红球:[6, 10, 14, 18, 21, 26]
##    蓝球:4
##
##    第5注:
##    红球:[5, 8, 9, 21, 22, 25]
##    蓝球:5
##
##    祝您拿大奖!

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-8 14:57:51 | 显示全部楼层
import random

def selectBalls():
    count = input('请问选几注?\n')
    if (not count.isdigit()) or (count.isdigit() and str(count) == '0'):
        print('滚犊子!')
    else:            
        result = []
        for i in range(int(count)):
            red = list(range(1,34))
            random.shuffle(red)
            redBalls = sorted(red[0:6])
            blueBall = random.randint(1,16)
            result.append((redBalls, blueBall))
        for i,balls in enumerate(result):
            print('\n第{0}注:\n红球:{1}\n蓝球:{2}'.format(i+1, balls[0], balls[1]))
        print('\n祝您拿大奖!')


selectBalls()

##    >>> 
##    请问选几注?
##    5
##
##    第1注:
##    红球:[6, 9, 18, 21, 32, 33]
##    蓝球:10
##
##    第2注:
##    红球:[6, 15, 19, 26, 30, 32]
##    蓝球:10
##
##    第3注:
##    红球:[1, 5, 7, 8, 11, 32]
##    蓝球:10
##
##    第4注:
##    红球:[6, 10, 14, 18, 21, 26]
##    蓝球:4
##
##    第5注:
##    红球:[5, 8, 9, 21, 22, 25]
##    蓝球:5
##
##    祝您拿大奖!

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-8 15:22:15 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-12-8 16:08:00 From FishC Mobile | 显示全部楼层
厲害的東西
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-31 19:25:57 | 显示全部楼层
呵呵。。。。这个可以有
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-1 22:43:39 | 显示全部楼层
666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-1-7 22:18:11 | 显示全部楼层
123
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-1-12 13:24:49 From FishC Mobile | 显示全部楼层
想看唉
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-22 22:34:50 | 显示全部楼层
学习下,多谢分享~~~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-22 22:41:27 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-1-22 22:43:02 | 显示全部楼层
传说中的小角色 发表于 2017-2-25 23:09
你好,我是0基础,装好软件,然后逛帖子,看见这个复制了,代码一直报错,请问下这个怎么解决

你要新建文件,复制进去,CTRL+N
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-22 22:44:35 | 显示全部楼层
你们想的都太简单了,不如编个程序,彩票网站获得大数据后,如何让中奖累积金额最小
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-5 20:22:31 | 显示全部楼层
喜欢哦 手收下了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-5 22:02:31 | 显示全部楼层
指教

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-4-16 13:04:22 | 显示全部楼层
xxuexi le
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-16 19:08:54 | 显示全部楼层
想看看阁下的作品
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-17 04:15:01 From FishC Mobile | 显示全部楼层
机智
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-4-17 18:28:47 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-24 02:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表