精华内容
下载资源
问答
  • 100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python。【程序1】题目:有1、2、3、4个数字,能组成多少个...2.程序源代码:for i in range(1,5):for j i...

    blog-ad-01.png

    100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python。

    【程序1】

    题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

    1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去

    掉不满足条件的排列。

    2.程序源代码:

    for i in range(1,5):

    for j in range(1,5):

    for k in range(1,5):

    if( i != k ) and (i != j) and (j != k):

    print i,j,k

    【程序2】

    题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高

    于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提

    成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于

    40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于

    100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

    1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。

    2.程序源代码:

    bonus1 = 100000 * 0.1

    bonus2 = bonus1 + 100000 * 0.500075

    bonus4 = bonus2 + 200000 * 0.5

    bonus6 = bonus4 + 200000 * 0.3

    bonus10 = bonus6 + 400000 * 0.15

    i = int(raw_input('input gain: '))

    if i <= 100000:

    bonus = i * 0.1

    elif i <= 200000:

    bonus = bonus1 + (i - 100000) * 0.075

    elif i <= 400000:

    bonus = bonus2 + (i - 200000) * 0.05

    elif i <= 600000:

    bonus = bonus4 + (i - 400000) * 0.03

    elif i <= 1000000:

    bonus = bonus6 + (i - 600000) * 0.015

    else:

    bonus = bonus10 + (i - 1000000) * 0.01

    print 'bonus = ',bonus

    【程序3】

    题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

    1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后

    的结果满足如下条件,即是结果。请看具体分析:

    2.程序源代码:

    include "math.h"

    main()

    {

    long int i,x,y,z;

    for (i=1;i<100000;i++)

    { x=sqrt(i+100); ??/*x为加上100后开方后的结果*/

    y=sqrt(i+268); ??/*y为再加上168后开方后的结果*/

    if(x*x==i+100&&y*y==i+268)/*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/

    printf(" %ld ",i);

    }

    }

    '''

    import math

    for i in range(10000):

    #转化为整型值

    x = int(math.sqrt(i + 100))

    y = int(math.sqrt(i + 268))

    if(x * x == i + 100) and (y * y == i + 268):

    print i

    题目:输入某年某月某日,判断这一天是这一年的第几天?

    1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊

    情况,闰年且输入月份大于3时需考虑多加一天。

    2.程序源代码:

    year = int(raw_input('year: '))

    month = int(raw_input('month: '))

    day = int(raw_input('day: '))

    months = (0,31,59,90,120,151,181,212,243,273,304,334)

    if 0 <= month <= 12:

    sum = months[month - 1]

    else:

    print 'data error'

    sum += day

    leap = 0

    if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)):

    leap = 1

    if (leap == 1) and (month > 2):

    sum += 1

    print 'it is the %dth day.' % sum

    【程序5】

    题目:输入三个整数x,y,z,请把这三个数由小到大输出。

    1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,

    然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。

    2.程序源代码:

    l = []

    for i in range(3):

    x = int(raw_input('integer: '))

    l.append(x)

    l.sort()

    print l

    【程序6】

    题目:用*号输出字母C的图案。

    1.程序分析:可先用’*’号在纸上写出字母C,再分行输出。

    2.程序源代码:

    print 'Hello Python world! '

    print '*' * 10

    for i in range(5):

    print '* *'

    print '*' * 10

    print '* ' * 6

    【程序7】

    题目:输出特殊图案,请在c环境中运行,看一看,Very Beautiful!

    1.程序分析:字符共有256个。不同字符,图形不一样。

    2.程序源代码:

    a = 176

    b = 219

    print chr(b),chr(a),chr(a),chr(a),chr(b)

    print chr(a),chr(b),chr(a),chr(b),chr(a)

    print chr(a),chr(a),chr(b),chr(a),chr(a)

    print chr(a),chr(b),chr(a),chr(b),chr(a)

    print chr(b),chr(a),chr(a),chr(a),chr(b)

    【程序8】

    题目:输出9*9口诀。

    1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。

    2.程序源代码:

    include "stdio.h"

    main()

    {

    int i,j,result;

    printf(" ");

    for (i=1;i<10;i++)

    { for(j=1;j<10;j++)

    {

    result=i*j;

    printf("%d*%d=%-3d",i,j,result);/*-3d表示左对齐,占3位*/

    }

    printf(" ");/*每一行后换行*/

    }

    }

    for i in range(1,10):

    for j in range(1,10):

    result = i * j

    print '%d * %d = % -3d' % (i,j,result)

    print ''

    【程序9】

    题目:要求输出国际象棋棋盘。

    1.程序分析:用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格。

    2.程序源代码:

    include "stdio.h"

    main()

    {

    int i,j;

    for(i=0;i<8;i++)

    {

    for(j=0;j<8;j++)

    if((i+j)%2==0)

    printf("%c%c",219,219);

    else

    printf(" ");

    printf(" ");

    }

    }

    import sys

    for i in range(8):

    for j in range(8):

    if(i + j) % 2 == 0:

    sys.stdout.write(chr(219))

    sys.stdout.write(chr(219))

    else:

    sys.stdout.write(' ')

    print ''

    【程序10】

    题目:打印楼梯,同时在楼梯上方打印两个笑脸。

    1.程序分析:用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数。

    2.程序源代码:

    import sys

    sys.stdout.write(chr(1))

    sys.stdout.write(chr(1))

    print ''

    for i in range(1,11):

    for j in range(1,i):

    sys.stdout.write(chr(219))

    sys.stdout.write(chr(219))

    print ''

    限于篇幅,这里只列出10个,更多Python程序请自行下载后阅读。

    展开全文
  • Python做的拼图,需要拼图的图片可自选更换,程序运行截图: import simpleguitk as simplegui import random baymax = simplegui.load_image('img_3518.jpg') width = 500 height = width + 100 # 定义图像块...

    用Python做的拼图,需要拼图的图片可自选更换,程序运行截图:在这里插入图片描述

    
    import simpleguitk as simplegui
    import random
    
    baymax = simplegui.load_image('img_3518.jpg')
    
    width = 500
    height = width + 100
    # 定义图像块的边长
    image_size = width / 3
    # 定义图像块的坐标列表
    all_coordinates = [[image_size * 0.5, image_size * 0.5], [image_size * 1.5, image_size * 0.5],
                       [image_size * 2.5, image_size * 0.5], [image_size * 0.5, image_size * 1.5],
                       [image_size * 1.5, image_size * 1.5], [image_size * 2.5, image_size * 1.5],
                       [image_size * 0.5, image_size * 2.5], [image_size * 1.5, image_size * 2.5],
                       None
                       ]
    
    # 棋盘的行列
    ROWS = 3
    COLS = 3
    
    # 棋盘步数
    steps = 0
    
    # 保存所以图像块的列表
    board = [[None, None, None], [None, None, None], [None, None, None]]
    
    
    # 定义一个图像块的类
    class Square:
    
        def __init__(self, coordinate):
            self.center = coordinate
    
        def draw(self, canvas, board_pos):
            canvas.draw_image(baymax, self.center, [image_size, image_size],
                              [(board_pos[1] + 0.5) * image_size, (board_pos[0] + 0.5) * image_size]
                              , [image_size, image_size])
    
    
    def init_board():
        """对每个小方格,创建方块对象"""
    
        # 随机打乱列表
        random.shuffle(all_coordinates)
    
        # 填充并且拼接图版
        for i in range(ROWS):
            for j in range(COLS):
                idx = i * ROWS + j
                square_center = all_coordinates[idx]
                if square_center is None:
                    board[i][j] = None
                else:
                    board[i][j] = Square(square_center)
    
    
    def play_game():
        """重置游戏"""
        global steps
        steps = 0
        init_board()
    
    
    def draw(canvas):
        """画界面上的元素"""
    
        # 画下方图片
        canvas.draw_image(baymax, [width / 2, height / 2], [width, height], [50, width + 50], [98, 98])
        # 画下方步数
        canvas.draw_text("步数: " + str(steps), [400, 680], 22, 'white')
        # 绘制游戏界面各元素
        for i in range(ROWS):
            for j in range(COLS):
                if board[i][j] is not None:
                    board[i][j].draw(canvas, [i, j])
    
    
    def mouse_click(pos):
        """鼠标点击事件"""
        global steps
        # r为行数,c为列数
        r = int(pos[1] // image_size)
        c = int(pos[0] // image_size)
    
        if r < 3 and c < 3:
            # 点击到空白位置
            if board[r][c] is None:
                return
            else:
                # 依次检查当前图像位置的上下左右是否有空位置
                current_square = board[r][c]
                # 判断上面
                if r - 1 >= 0 and board[r - 1][c] is None:
                    board[r][c] = None
                    board[r - 1][c] = current_square
                    steps += 1
                # 判断下面
                elif r + 1 <= 2 and board[r + 1][c] is None:
                    board[r][c] = None
                    board[r + 1][c] = current_square
                    steps += 1
                # 判断在左边
                elif c - 1 >= 0 and board[r][c - 1] is None:
                    board[r][c] = None
                    board[r][c - 1] = current_square
                    steps += 1
                # 判断在右边
                elif c + 1 <= 2 and board[r][c + 1] is None:
                    board[r][c] = None
                    board[r][c + 1] = current_square
                    steps += 1
    
    
    frame = simplegui.create_frame('拼图', width, height)
    frame.set_canvas_background('black')
    # 绘制界面
    frame.set_draw_handler(draw)
    # 创建窗口,绑定事件,设置大小
    frame.add_button('重新开始', play_game, 60)
    # 注册鼠标事件
    frame.set_mouseclick_handler(mouse_click)
    # 初始化游戏
    play_game()
    # 启动框架
    frame.start()
    

    更多Python源代码,请关注公众号:Python代码大全,在这里插入图片描述

    展开全文
  • Python五子棋游戏源代码程序

    千次阅读 2020-06-02 12:11:04
    五子棋游戏,我们将游戏分为两个方面:一个是棋盘,另一个是棋子,利用横线和纵线将棋盘分成一个个方格,当黑子或者白子形成5个棋子连线时,显示胜利者,游戏结束。本程序难点在于确定胜利条件。 import pygame ...

    五子棋游戏,我们将游戏分为两个方面:一个是棋盘,另一个是棋子,利用横线和纵线将棋盘分成一个个小方格,当黑子或者白子形成5个棋子连线时,显示胜利者,游戏结束。本程序难点在于确定胜利条件。
    在这里插入图片描述

    
    import pygame as pg
    class Chessboard:  # 设置棋盘
        def __init__(s):
            s.grid_lenght = 26                               #棋盘格子的边长
            s.grid_count = 20                                #格子的数量
            s.start_x = 150                                  #棋盘初始点坐标,左上角的坐标
            s.start_y = 50
            s.edge_lenght = s.grid_lenght / 2                #棋盘周围边缘的长度13
    
    
            s.piece = "black"
            s.winner = None
            s.gameover = False
            s.grid = []
            for i in range(s.grid_count):                      #棋盘大小为20*20个格子
                s.grid.append(list("." * s.grid_count))
    
    
    
    
        def handle_event(s, e):
            origin_x = s.start_x - s.edge_lenght
            origin_y = s.start_y - s.edge_lenght
            chessboard_lenght = (s.grid_count - 1) * s.grid_lenght + s.edge_lenght * 2
            mouse_pos = e.pos                                  #鼠标位置在棋盘坐标内
            if (mouse_pos[0] > origin_x and mouse_pos[0] <= origin_x + chessboard_lenght) and (
                    mouse_pos[1] >= origin_y and mouse_pos[1] <= origin_y + chessboard_lenght):
                if not s.gameover:
                    x = mouse_pos[0] - origin_x                 #X轴方向距离
                    c = int(x / s.grid_lenght)                  #换算出X轴第几格
                    y = mouse_pos[1] - origin_y
                    r = int(y / s.grid_lenght)                  #换算出Y轴第几格
                    if s.set_piece(r, c):
                        s.check_win(r, c)
    
    
        def set_piece(s, r, c):
            if s.grid[r][c] == ".":                             #该位置没有棋子
                s.grid[r][c] = s.piece
                if s.piece == "black":                          #交替使用棋子
                    s.piece = "white"
                else:
                    s.piece = "black"
                return True
            return False
    
    
        def check_win(s, r, c):
            n_count = s.get_continuous_count(r, c, -1, 0)            #上方向相周颜色棋子数量
            s_count = s.get_continuous_count(r, c, 1, 0)             #下方相同颜色棋子数量
            w_count = s.get_continuous_count(r, c, 0, -1)            #左方
            e_count = s.get_continuous_count(r, c, 0, 1)             #右方
            nw_count = s.get_continuous_count(r, c, -1, -1)          #左上方
            ne_count = s.get_continuous_count(r, c, -1, 1)           #右上方
            sw_count = s.get_continuous_count(r, c, 1, -1)           #左下方
            se_count = s.get_continuous_count(r, c, 1, 1)            #右下方
            if (n_count + s_count + 1 >= 5) or (e_count + w_count + 1 >= 5) or (se_count + nw_count + 1 >= 5) or (
                    ne_count + sw_count + 1 >= 5):
                s.winner = s.grid[r][c]
                s.gameover = True
    
    
        def get_continuous_count(s, r, c, dr, dc):            #统计一个方向的同颜色棋子数量
            piece = s.grid[r][c]
            result = 0
            i = 1
            while True:
                new_r = r + dr * i
                new_c = c + dc * i
                if 0 <= new_r < s.grid_count and 0 <= new_c < s.grid_count:
                    if s.grid[new_r][new_c] == piece:              #该方向颜色相同则加上
                        result += 1
                    else:
                        break
                else:
                    break
                i += 1
            return result
    
    
        def draw(s, screen):
            pg.draw.rect(screen, (185, 122, 87), [s.start_x - s.edge_lenght, s.start_y - s.edge_lenght,              #画棋盘
                                                  (s.grid_count - 1) * s.grid_lenght + s.edge_lenght * 2,
                                                  (s.grid_count - 1) * s.grid_lenght + s.edge_lenght * 2], 0)
            for r in range(s.grid_count):                                                                           #画棋盘横线
                y=s.start_y+r*s.grid_lenght
                pg.draw.line(screen,(0,0,0),[s.start_x,y],[s.start_x+s.grid_lenght*(s.grid_count-1),y],2)
            for c in range(s.grid_count):                                                                           #画棋盘竖线
                x = s.start_x+c*s.grid_lenght
                pg.draw.line(screen, (0, 0, 0), [x,s.start_y], [x,s.start_y + s.grid_lenght * (s.grid_count - 1)], 2)
            for r in range(s.grid_count):
                for c in range(s.grid_count):
                    piece=s.grid[r][c]
                    if piece!=".":
                        if piece=="black":                                           #设置棋子颜色
                            color=(0,0,0)
                        else:
                            color=(255,255,255)
                        x=s.start_x+c*s.grid_lenght
                        y=s.start_y+r*s.grid_lenght
                        pg.draw.circle(screen,color,[x,y],s.grid_lenght//2)             #在棋盘上画棋子
    class Gomoku:
        def __init__(s):
            pg.init()
            s.screen=pg.display.set_mode((800,600))
            pg.display.set_caption("五子棋对战")
            s.clock=pg.time.Clock()
            s.font=pg.font.Font(u"C:\Windows\Fonts\Candarab.ttf", 24)
            s.going=True
            s.chessboard=Chessboard()
        def loop(s):                               #主循环
            while s.going:
                s.update()
                s.draw()
                s.clock.tick(50)
            pg.quit()
        def update(s):                            #更新画面
            for e in pg.event.get():
                if e.type==pg.QUIT:
                    s.going=False
                elif e.type==pg.MOUSEBUTTONDOWN:
                    s.chessboard.handle_event(e)
        def draw(s):
            s.screen.fill((255,255,255))                          #窗口底色为白色
            s.screen.blit(s.font.render("FPS:{0:.2F}".format(s.clock.get_fps()),True,(0,0,0)),(10,10))
            s.chessboard.draw(s.screen)                          #画棋盘窗口
            if s.chessboard.gameover:
                s.screen.blit(s.font.render("{0}Win".format("black"if s.chessboard.winner=="black"else"white"),True,(0,0,0)),(500,10))
            pg.display.update()                                 #更新界面
    if __name__=="__main__":
        game=Gomoku()
        game.loop()
    

    更多Python源代码,请关注公众号:Python代码大全
    在这里插入图片描述

    展开全文
  • Python贪吃蛇游戏源代码程序

    千次阅读 2020-05-26 09:32:04
    程序运行截图: import pygame as pg from random import randint import sys from pygame.locals import * FPS = 6 # 画面帧数,代表蛇的移动速率 window_width = 600 window_height = 500 cellsize = ...

    程序运行截图:
    在这里插入图片描述
    在这里插入图片描述

    import pygame as pg
    
    from random import randint
    
    import sys
    
    from pygame.locals import *
    
    
    
    FPS = 6  # 画面帧数,代表蛇的移动速率
    
    window_width = 600
    
    window_height = 500
    
    cellsize = 20
    
    cell_width = int(window_width / cellsize)
    
    cell_height = int(window_height / cellsize)
    
    BGcolor = (0, 0, 0)
    
    BLUE = (0, 0, 255)
    
    RED = (255, 0, 0)
    
    apple_color = (255, 0, 0)
    
    snake_color = (0, 150, 0)
    
    GREEN = (0, 255, 0)
    
    WHITE = (255, 255, 255)
    
    DARKGRAY = (40, 40, 40)
    
    
    
    UP = "up"
    
    DOWN = "down"
    
    LEFT = "left"
    
    RIGHT = "right"
    
    HEAD = 0
    
    
    
    
    
    def main():  # 有函数
    
        global FPSclock, window, BASICFONT
    
        pg.init()
    
        FPSclock = pg.time.Clock()
    
        window = pg.display.set_mode((window_width, window_height))
    
        BASICFONT = pg.font.Font("freesansbold.ttf", 18)
    
        pg.display.set_caption("贪吃蛇")
    
        showStartScreen()
    
        while True:
    
            runGame()
    
            showGameOverScreen()
    
    
    
    
    
    def runGame():  # 运行游戏函数
    
        startx = randint(5, cell_width - 6)
    
        starty = randint(5, cell_height - 6)
    
        snakeCoords = [{"x": startx, "y": starty}, {"x": startx - 1, "y": starty}, {"x": startx - 2, "y": starty}]
    
        direction = RIGHT
    
        apple = getRandomLocation()
    
        while True:
    
            for event in pg.event.get():
    
                if event.type == QUIT:
    
                    terminate()
    
                elif event.type == KEYDOWN:
    
                    if event.key == K_LEFT and direction != RIGHT:
    
                        direction = LEFT
    
                    elif event.key == K_RIGHT and direction != LEFT:
    
                        direction = RIGHT
    
                    elif event.key == K_UP and direction != DOWN:
    
                        direction = UP
    
                    elif event.key == K_DOWN and direction != UP:
    
                        direction = DOWN
    
                    elif event.key == K_ESCAPE:
    
                        terminate()
    
            if snakeCoords[HEAD]["x"] == -1 or snakeCoords[HEAD]["x"] == cell_width or snakeCoords[HEAD]["y"] == -1 or \
    
                    snakeCoords[HEAD]["y"] == cell_height:
    
                return
    
            for snakeBody in snakeCoords[1:]:
    
                if snakeBody["x"] == snakeCoords[HEAD]["x"] and snakeBody["y"] == snakeCoords[HEAD]["y"]:
    
                    return
    
                if snakeCoords[HEAD]["x"] == apple["x"] and snakeCoords[HEAD]["y"] == apple["y"]:
    
                    apple = getRandomLocation()
    
                else:
    
                    del snakeCoords[-1]
    
                if direction == UP:
    
                    newHead = {"x": snakeCoords[HEAD]["x"], "y": snakeCoords[HEAD]["y"] - 1}
    
                elif direction == DOWN:
    
                    newHead = {"x": snakeCoords[HEAD]["x"], "y": snakeCoords[HEAD]["y"] + 1}
    
                elif direction == LEFT:
    
                    newHead = {"x": snakeCoords[HEAD]["x"] - 1, "y": snakeCoords[HEAD]["y"]}
    
                elif direction == RIGHT:
    
                    newHead = {"x": snakeCoords[HEAD]["x"] + 1, "y": snakeCoords[HEAD]["y"]}
    
    
    
                snakeCoords.insert(0, newHead)
    
                window.fill(BGcolor)
    
                drawGrid()
    
                drawSnake(snakeCoords)
    
                drawApple(apple)
    
    
    
                drawScore(len(snakeCoords) - 3)
    
    
    
                pg.display.update()
    
                FPSclock.tick(FPS)
    
    
    
    
    
    def drawPressKeyMsg():  # 游戏开始提示信息
    
        pressKeySurf = BASICFONT.render("press a key to play", True, BLUE)
    
        pressKeyRect = pressKeySurf.get_rect()
    
        pressKeyRect.topleft = (window_width - 200, window_height - 30)
    
        window.blit(pressKeySurf, pressKeyRect)
    
    
    
    
    
    def checkForKeyPress():  # 检查是否触发按键
    
        if len(pg.event.get(QUIT)) > 0:
    
            terminate()
    
        keyUpEvents = pg.event.get(KEYUP)
    
        if len(keyUpEvents) == 0:
    
            return None
    
        if keyUpEvents[0].key == K_ESCAPE:
    
            terminate()
    
        return keyUpEvents[0].key
    
    
    
    
    
    def showStartScreen():  # 开始画面
    
        window.fill(BGcolor)
    
        titleFont = pg.font.Font("freesansbold.ttf", 100)
    
        titleSurf = titleFont.render("snake!", True, RED)
    
        titleRect = titleSurf.get_rect()
    
        titleRect.center = (window_width / 2, window_height / 2)
    
        window.blit(titleSurf, titleRect)
    
        drawPressKeyMsg()
    
        pg.display.update()
    
        while True:
    
            if checkForKeyPress():
    
                pg.event.get()
    
                return
    
    
    
    
    
    def terminate():  # 退出
    
        pg.quit()
    
        sys.exit()
    
    
    
    
    
    def getRandomLocation():  # 出现位置
    
        return {"x": randint(0, cell_width - 1), "y": randint(0, cell_height - 1)}
    
    
    
    
    
    def showGameOverScreen():  # 游戏结束
    
        gameOverFont = pg.font.Font("freesansbold.tff", 150)
    
        gameSurf = gameOverFont.render("Game", True, WHITE)
    
        overSurf = gameOverFont.render("over", True, WHITE)
    
        gameRect = gameSurf.get_rect()
    
        overRect = overSurf.get_rect()
    
        gameRect.midtop = (window_width / 2, 10)
    
        overRect.midtop = (window_width / 2, gameRect.height10 + 25)
    
        window.blit(gameSurf, gameRect)
    
        window.blit(overSurf, overRect)
    
    
    
        drawPressKeyMsg()
    
        pg.display.update()
    
        pg.time.wait(500)
    
        checkForKeyPress()
    
        while True:
    
            if checkForKeyPress():
    
                pg.event.get()
    
                return
    
    
    
    
    
    def drawScore(score):  # 显示分数
    
        scoreSurf = BASICFONT.render("Score:%s" % (score), True, WHITE)
    
        scoreRect = scoreSurf.get_rect()
    
        scoreRect.topleft = (window_width - 120, 10)
    
        window.blit(scoreSurf, scoreRect)
    
    
    
    
    
    def drawSnake(snakeCoords):  # 画蛇
    
        for coord in snakeCoords:
    
            x = coord["x"] * cellsize
    
            y = coord["y"] * cellsize
    
            snakeSegmentRect = pg.Rect(x, y, cellsize, cellsize)
    
            pg.draw.rect(window, snake_color, snakeSegmentRect)
    
            snakeInnerSegmentRect = pg.Rect(x + 4, y + 4, cellsize - 8, cellsize - 8)
    
            pg.draw.rect(window, GREEN, snakeInnerSegmentRect)
    
    
    
    
    
    def drawApple(coord):
    
        x = coord["x"] * cellsize
    
        y = coord["y"] * cellsize
    
        appleRect = pg.Rect(x, y, cellsize, cellsize)
    
        pg.draw.rect(window, apple_color, appleRect)
    
    
    
    
    
    def drawGrid():  # 画方格
    
        for x in range(0, window_width, cellsize):
    
            pg.draw.line(window, DARKGRAY, (x, 0), (x, window_height))
    
        for y in range(0, window_height, cellsize):
    
            pg.draw.line(window, DARKGRAY, (0, y), (window_width, y))
    
    
    
    
    
    if __name__ == "__main__":
    
        main()
    

    更多Python小游戏源代码,请微信关注:Python代码大全
    在这里插入图片描述

    展开全文
  • Python数独游戏源代码

    千次阅读 2020-06-09 16:56:24
    Python数独游戏源代码、源程序共包括两个程序文件:main.py及build.py main.py import sys import pygame from pygame.color import THECOLORS as COLORS from ShuDu.build import * def draw_background...
  • Python坦克大战源代码

    千次阅读 多人点赞 2020-11-24 16:55:18
    Python坦克大战游戏源程序,可实现单人及双人模式,程序入口:Game5.py,源代码程序较大,完整程序,请在网盘下载:https://pan.baidu.com/s/1yMB-4aLp9_Ke-40-iZpteQ,提取码请关注公众号(Python代码大全)回复...
  • Python连连看游戏源代码

    千次阅读 多人点赞 2020-10-22 16:58:39
    Python连连看游戏源代码,经典游戏连连看Python程序,连连看游戏资源包请前往:https://pan.baidu.com/s/1a5cmM8noQbGmH_WG49-maA下载,提取码请关注公众后回复:连连看提取码。(更多Python源代码,请关注...
  • 本文实例为大家分享了python实现烟花小程序的具体代码,供大家参考,具体内容如下'''FIREWORKS SIMULATION WITH TKINTER*self-containing code*to run: simply type python simple.py in your console*compatible ...
  • Python有趣小程序代码

    万次阅读 多人点赞 2018-06-08 12:22:35
    1:打印心形print('\n'.join([''.join([('Love'[(x-y)%4]if((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3&lt;=0 else' ')for x in range(-30,30)])for y in range(15,-15,-1)]))2:9*9乘法表print('\n'....
  • Python魂斗罗游戏源代码

    千次阅读 2021-01-19 10:50:10
    Python魂斗罗游戏源代码程序,主程序Contra.py,游戏简易使用说明:A:向左,D:向右,W:跳起,S:趴下,J:射击,P:退出程序程序运行截图: Contra.py ''' 公众号:Python代码大全 ''' import pygame import ...
  • Python滑雪游戏源代码

    千次阅读 2021-02-04 09:26:16
    Python滑雪游戏源代码、源程序,完整程序包请前往文末链接下载,按任意键开始游戏,通过键盘左右方向键来控制滑雪者,完整程序包请在文末地址下载,程序运行截图: 主程序:Game4.py ''' Function: 滑雪游戏 ...
  • python必背100源代码-python 100例 (持续更新)

    万次阅读 多人点赞 2020-10-28 20:04:06
    程序源代码:1 #!/usr/bin/env python2 #-*- coding: UTF-8 -*-34 i = ['a', 'b']5 l = [1, 2]6 printdict([i, l])以上实例输出结果为:{'a': 'b', 1: 2}2、一个简单的while循环1 #!/usr/bin/env python23 count =04...
  • Python雷电游戏、战机游戏源代码程序

    千次阅读 多人点赞 2020-10-09 11:27:37
    Python雷电游戏、战机游戏源代码,单机版,相关图片及声音素材包请在网盘下载:https://pan.baidu.com/s/1zGxfSVWCBueDCscxL5bNCg,提供码请在公众号回复:雷电提取码。 ''' 公众号:Python代码大全 ''' import...
  • Python扫雷游戏源代码及图片素材

    千次阅读 2020-06-04 10:50:33
    Python扫雷游戏源代码、源程序共有两个文件及一个资源包:main.py及mineblock.py,资源包请前往百度网盘下载, https://pan.baidu.com/s/1u-qsJhAaCJMxX6YOkI1qMw,提取码请关注公众号:Python代码大全后回复:扫雷...
  • Python中国象棋源代码及素材

    千次阅读 多人点赞 2020-06-04 10:45:36
    Python中国象棋源程序共包含五个程序文件一个图片素材包, chinachess.py 为主文件;constants.py 数据常量;pieces.py 棋子类,走法;computer.py 电脑走法计算;button.py按钮定义。目前电脑走法比较傻,有兴趣的...
  • Python打字练习游戏源代码

    千次阅读 2020-07-31 10:48:52
    Python打字练习游戏源程序,随机产生一串字符,可对打字练习的正确率和时间进行统计,运行截图如下: from tkinter import * import random import string from datetime import datetime root = Tk() root....
  • 在开始制作爬虫前,我们应该做好前期准备工作,找到要爬的网站,然后查看它的源代码我们这次爬豆瓣美女网站,网址为:用到的工具:pycharm,这是它的图标?...博文来自:zhang740000的博客Python新手写出漂亮的爬虫...
  • python炫酷烟花表白的源代码分享发布时间:2020-04-26 11:38:32来源:亿速云阅读:714...python炫酷烟花表白源代码这个有趣的项目并不复杂,只需一点可视化技巧,100余行Python代码和程序库Tkinter,最后我们就能...
  • python炫酷烟花表白源代码这个有趣的项目并不复杂,只需一点可视化技巧,100余行Python代码和程序库Tkinter,最后我们就能达到下面这个效果:学完本教程后,你也能做出这样的烟花秀。整体概念梳理我们的整个理念...
  • 这个有趣的项目并不复杂,只需一点可视化技巧,100余行Python代码程序库Tkinter,最后我们就能达到下面这个效果:学完本教程后,你也能做出这样的烟花秀。整体概念梳理我们的整个理念比较简单。如上图示,我们...
  • 在开始制作爬虫前,我们应该做好前期准备工作,找到要爬的网站,然后查看它的源代码我们这次爬豆瓣美女网站,网址为:用到的工具:pycharm,这是它的图标...博文来自:zhang740000的博客Python新手写出漂亮的爬虫代码...
  • Python接弹珠游戏源代码

    千次阅读 2020-05-25 14:44:03
    x + 120): ball_y = 490 #没有接到球,退出程序 break pg.display.update() #更新窗口,保证窗口始终打开 time.sleep(0.03) #球运动的速度0.03秒走一个像素 更多Python源代码,请微信关注:Python代码大全,
  • 一、引言 最近疯狂沉迷 Python 的 Tkinter 库。这是 Python 自带的界面库,附带的 IDLE 就是用...IDLE 的源代码Python 是一同下载安装的。因为我使用的是 Windows 环境,我也就只能介绍下 Windows 环境中,IDLE ...
  • Python精华】100个Python练手小程序

    万次阅读 多人点赞 2017-03-24 16:34:51
    100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python。 【程序1】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?...
  • 该游戏是仿谷歌浏览器恐龙游戏,程序运行入口Game7.py,配置文件:cfg.py,完整程序包及资源包请在本文文末下载,先上程序运行截图: Game7.py ''' Function: 仿谷歌浏览器恐龙游戏 微信公众号: Python代码...
  • Python我的世界游戏源代码

    千次阅读 2020-12-30 11:14:25
    我的世界游戏使用方法: 移动 前进:W,后退:S,向左:A,向右:D,环顾四周:鼠标,跳...公众号:Python代码大全 ''' from __future__ import division import sys import math import random import time from co
  • 写个Python程序的人大概都知道,如果想让程序能正确的处理非ASCII字符,在源码的第一或第二行需要加这么一句: # -*- coding: utf-8 -*- 其中的utf-8可以换成其他编码。 这篇文章就来说说这...
  • pip install tencentcloud-sdk-python 注意:如果您的项目环境中同时搭建 python2 和 python3 环境,在 python3 环境下,请使用 pip3 命令进行安装。 通过源码包安装前往 github 代码托管地址 下载最新代码。 将获取...
  • 我们知道Python是一门解释型语言,当我们想让其他人运行我们的代码时,如果直接将.py源代码发送给他人,那么源代码将没有任何安全性可言,也就是任何一个人都可以打开源代码一看究竟,任何人都可以随意修改源代码。...
  • 是男人就下一百层小游戏Python小游戏源程序,共包含两个程序文件:game.py和是男人就下一百层.py。程序运行截图如下: 更多Python源代码,请微信关注:Python代码大全, game.py #!python3 # -*- coding: utf-8 -*-...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 124,045
精华内容 49,618
关键字:

python小程序源代码

python 订阅