黄金矿工-Python

2023-10-30

首先做这个项目之前得清楚需要的材料和这个项目的结构,我自己感觉这个游戏项目的难点就在于钩子摆动的问题,它需要利用到三角函数来实现出来,我利用了pygame.transform.rotate()方法来实现钩字摇摆的问题,用sin和cos的方法来计算出钩字旋转的角度,对于目前的自己来说这就是最难的部分!这个项目我一共写了6个部分完成的,接下来就是代码部分!

项目管理代码

import mining
import pygame
from pygame.locals import *
import time


class A():
    def __init__(self):
        # pygame初始化  否则找不到字体文件
        pygame.init()


def main(screen):
    # 创建窗口
    # screen = pygame.display.set_mode((1400, 900))
    # 创建背景图片
    background = pygame.image.load("./material/dabeijing.png")
    # 创建玩家人物对象
    miner = mining.Miner(screen)
    # # 创建管理石头对象
    manage_kuang = mining.Manage_kuang(screen)
    # 创建钩子对象
    crash = mining.Hook(screen)

    music = mining.GameSound()

    music.playBackgroundMusic()

    while True:
        # 将背景贴到界面中
        screen.blit(background, (0, 0))
        # 调用人物的显示功能
        miner.display()
        # 调用钩子的显示功能
        crash.hook_display()
        # 调用钩子旋转功能
        crash.hook_rotate()
        # 钩子检测按键
        a = crash.control()
        if a:
            music.playHookSound()
        # 钩子移动功能
        crash.move()
        # 钩子越界检测
        crash.scope()
        crash.scope2()
        crash.scope3()
        # 检测钩子碰撞
        crash.pengzhuang(manage_kuang)
        # 将钩子和物体一起向回拉
        crash.move2()

        # 随机石头

        manage_kuang.random_fond()
        for fond1 in manage_kuang.fonds:
            fond1.display()
            # fond1.move()

        # 显示界面
        pygame.display.update()
        time.sleep(0.002)


def one():
    # 创建窗口
    screen = pygame.display.set_mode((1400, 900), 0, 32)
    # 创建背景图片
    background1 = pygame.image.load("9999.png")
    # background = pygame.image.load("./material/dabeijing.png")

    while True:
        screen.blit(background1, (0, 0))

        # a = input()
        # if a == "a":
        #     break

        for event in pygame.event.get():
            print(event.type)
            # print(pygame.K_SPACE)
            # 判断是否是点击了退出按钮
            if event.type == 12:
                print("exit")
                exit()  # 让整个程序结束,return让   函数结束,break让循环结束
            elif event.type == 3:
                print(3333333333333333)
                return screen

        pygame.display.update()

        # break


screen = one()
main(screen)

钩子碰撞

from math import sin, cos, pi
import pygame
from pygame.locals import *
import time


class Hook(pygame.sprite.Sprite):
    """钩子类"""

    def __init__(self, screen):
        pygame.sprite.Sprite.__init__(self)
        self.rawimage = pygame.image.load("./material/gouzi3.png")  # 原始图片
        self.image = self.rawimage  # 旋转后的图形,初始值就是原始图
        self.rect = self.rawimage.get_rect()  # 获取原始图形的矩形.
        # self.aaa = pygame.image.load("./material/钩子.png")  # 原始图片
        self.x = 1400
        self.y = 950
        self.screen = screen
        self.rect.topleft = [self.rect.x, self.rect.y]
        # 定义一个变量用来进行使
        self.a = True
        self.b = False
        self.c = False
        self.d = False
        self.num1 = False
        self.num2 = True
        self.hook_rotate_flag = True
        self.speed = 5
        # 转角
        self.corner = 0
        self.num = 2
        self.speed = []
        self.v = 10
        self.aaa = False
        # self.font = pygame.font.SysFont(" ", 40)  # 格式, 大小
        # 文本, 有没有抗锯齿, 颜色, 背景(可不写)
        # self.text_surface = self.font.render("***** ", True, (200, 255, 255))

    def hook_display(self):
        """显示功能"""
        self.screen.blit(self.image, self.rect)
        # self.screen.blit(self.aaa, (700, 0))

        # self.screen.blit(self.text_surface, (self.rect.x, self.rect.y))

    def hook_rotate(self):
        """旋转功能"""
        self.right_rotate()

    def detection(self):
        """检测按键功能"""
        # 获取事件,比如按键等
        for event in pygame.event.get():
            # 判断是否是点击了退出按钮
            if event.type == QUIT:
                print("exit")
                exit()  # 让整个程序结束,return让函数结束,break让循环结束

    def right_rotate(self):
        """旋转"""
        if self.a:
            if self.corner > -90:
                self.corner -= self.num
                self.image = pygame.transform.rotate(self.rawimage, self.corner)
                self.rect = self.image.get_rect()
                self.rect.x = self.x // 2 - self.rect.w // 2
                self.rect.y = self.y - 730 - self.rect.h // 2

                if self.corner == -90:
                    self.num = -2
                    self.corner = -88

                if self.corner >= 90:
                    self.num = 2
                    self.corner = 88

            self.rect.topleft = [self.rect.x, self.rect.y]
            self.speed = [-int(self.v * sin(self.corner * pi / 180)), -int(self.v * cos(self.corner * pi / 180))]

    def control(self):
        """检测键盘,调用对应的功能"""
        # 获取事件,比如按键等
        for event in pygame.event.get():
            # 判断是否是点击了退出按钮
            if event.type == QUIT:
                print("exit")
                exit()  # 让整个程序结束,return让函数结束,break让循环结束

        # 判断连续按键,注意下面要使用if,不能使用elif,否则当一起按下2个键的时候,只能处理一个键,另外的那个不处理
        key = pygame.key.get_pressed()

        # 判断是否要发射子弹
        if key[K_SPACE]:
            print('space')
            self.a = False
            self.b = True
            return True

    def move(self):
        # if self.corner > 0:
        if self.b:
            self.rect.x -= self.speed[0]
            self.rect.y -= self.speed[1]
            # print(self.rect.y, self.rect.x)
            self.rect.topleft = [self.rect.x, self.rect.y]
        if self.rect.x < 0:
            self.c = True
            self.b = False
            self.aaa = True
        elif self.rect.x > 1330:
            self.d = True
            self.b = False
            self.aaa = True
        elif self.rect.y > 810:
            self.num1 = True
            self.b = False
            self.aaa = True

    def pengzhuang(self, stones):
        """碰撞检测"""

        # 如果放钩子,则碰撞检测
        if self.aaa == False:
            for stone in stones.fonds:
                if pygame.sprite.collide_mask(self, stone):
                    stone.a = False
                    self.aaa = True  # 表示拉取钩子
                    self.b = False
                    # while True:
                    stone.y = self.rect.y
                    stone.x = self.rect.x
                    # if self.move2():
                    #     stone.fonds.remove(stone)

                    # 如果碰到了一个黄金,则不再继续判断碰撞,意味着每次只获取一个黄金
                    # return stone
                    self.obj = stone
                    # 从列表中删除
                    stones.fonds.remove(stone)

                    break

    def move2(self):
        global stones
        if self.aaa is True:
            self.rect.x += self.speed[0]
            self.rect.y += self.speed[1]
            self.rect.topleft = [self.rect.x, self.rect.y]

            try:
                if self.obj:
                    self.obj.x += self.speed[0]
                    self.obj.y += self.speed[1]
                    self.obj.rect.topleft = [self.obj.x, self.obj.y]
                    self.obj.screen.blit(self.obj.image, (self.obj.x, self.obj.y))
                    print("-----黄金正在被拉取中---")
            except:
                print(123)

            # self.rect.x += self.speed[0]
            # self.rect.y += self.speed[1]
            print(222)
            if self.rect.y <= 150:
                self.a = True
                self.aaa = False  # 当已经成功的将黄金拉回来,则修改这个判断,表示下一次的放钩子
                self.obj = None
                print("------黄金已经被收取成功--------")

                # return True

    def scope(self):
        if self.c:
            self.rect.x += self.speed[0]
            self.rect.y += self.speed[1]
            if self.rect.x >= 650:
                self.a = True
                self.c = False

    def scope2(self):
        if self.d:
            self.rect.x += self.speed[0]
            self.rect.y += self.speed[1]
            if self.rect.x <= 650:
                self.a = True
                self.d = False

    def scope3(self):
        if self.num1:
            self.rect.x += self.speed[0]
            self.rect.y += self.speed[1]
            if self.rect.y < 120:
                self.a = True
                self.num1 = False


def main():
    clock = pygame.time.Clock()
    # 创建窗口
    screen = pygame.display.set_mode((1400, 900))
    hook = Hook(screen)
    # 创建一个对象
    # enemy_plane = EnemyPlane2(screen)
    background = pygame.image.load("./material/背景.png")
    # stars = mineral.Manage_kuang(screen)

    while True:
        screen.blit(background, (0, 0))
        # screen.fill((0, 100, 255))
        # 显示钩子
        hook.hook_display()
        # 检测按键
        # hook.detection()
        # 旋转功能
        hook.hook_rotate()
        # 检测按键
        hook.control()
        # 移动功能
        hook.move()
        # hook.pengzhuang()
        # 越界检测
        hook.scope()
        hook.scope2()
        hook.scope3()

        # 调用目标
        # enemy_plane.display()

        # 显示界面
        pygame.display.update()
        # time.sleep(0.02)
        clock.tick(50)


if __name__ == "__main__":
    main()

# pygame.mouse.get_pressed()

分数代码

import mining
import pygame
from pygame.locals import *
import time


class HeroPlane(pygame.sprite.Sprite):
    def __init__(self, screen):
        # 调用父类初始化方法
        # pygame.sprite.Sprite.__init__(self)
        super().__init__()
        # 窗口
        self.screen = screen
        # 一个玩家飞机图片
        self.image = pygame.image.load('./feiji/feiji.png')
        # 飞机矩形区域对象
        self.rect = self.image.get_rect()
        # 左上角坐标
        self.rect.topleft = [512 / 2 - 116 / 2, 600]

        def drawText(self, text, x, y, textHeight=30, fontColor=(255, 255, 255), backgroudColor=None):
            # 通过字体文件获得字体对象  参数1 字体文件 参数2 字体大小
            font_obj = pygame.font.Font('./feiji/baddf.ttf', textHeight)
            # 1文字  2是否抗锯齿 3文字颜色 4背景颜色
            text_obj = font_obj.render(text, True, fontColor, backgroudColor)  # 配置要显示的文字
            # 获得要显示的对象的rect
            text_rect = text_obj.get_rect()
            # 设置显示对象的坐标
            text_rect.topleft = (x, y)
            # 绘制字 到指定区域  参1是文字对象 参2 矩形对象
            self.screen.blit(text_obj, text_rect)

任务图形代码

import pygame
from pygame.locals import *
import time
# import random


class Miner(object):
    """人物类"""
    def __init__(self, screen):
        # 定义人物的位置
        self.x = 600
        self.y = 40
        # 定义玩家图片
        self.image = pygame.image.load("./material/renwu3.png")
        # 存储需要显示玩家的对象引用
        self.screen = screen
        self.speed = 1
        self.direction = "right"
        self.direction2 = "down"
        self.bombed_flag = False

        self.rect = self.image.get_rect()

        self.rect.topleft = [self.x, self.y]

    def display(self):
        """显示玩家"""
        self.screen.blit(self.image, (self.x, self.y))

    def control(self):
        """检测键盘,调用相对应的功能"""
        # 判断是否是点击了退出按钮
        for event in pygame.event.get():
            if event.type == QUIT:
                print("exit")
                exit()  # 让整个程序结束

    def auto_move(self):
        """控制玩家人物的自由移动"""
        if self.bombed_flag is False:
            if self.direction2 == "down":
                self.y += self.speed
                if self.y > 60:
                    self.direction2 = "up"
            elif self.direction2 == "up":
                self.y -= self.speed
                if self.y < 30:
                    self.direction2 = "down"

            self.rect.topleft = [self.x, self.y]


def main():
    # 创建界面
    screen = pygame.display.set_mode((1400, 900))
    # 创建背景图片
    background = pygame.image.load("./huang_jin_kuang_gong/Inkedsnipaste20181122_083528_LI.jpg")
    # 创建玩家人物对象
    miner = Miner(screen)

    while True:
        # 将背景贴到界面中
        screen.blit(background, (0, 0))
        # 调用玩家的显示功能
        miner.display()
        # 调用玩家的键盘检测功能
        miner.control()
        miner.auto_move()

        # 显示界面
        pygame.display.update()
        time.sleep(0.01)


if __name__ == "__main__":
    main()

界面代码

import pygame
from pygame.locals import *
import time
# import random


class A(object):
    """界面类"""
    def __init__(self, screen):
        self.start = True
        self.over = False
        self.image1 = pygame.image.load("./黄金矿工/timg.png")
        # self.image2 = pygame.image.load("./feiji/gameover2.png")
        self.image3 = pygame.image.load("./黄金矿工/beijin.png")
        self.screen = screen
        self.flag = False

    def display(self):
        if self.flag is False:
            if self.start:
                self.screen.blit(self.image1, (0, 0))

        else:
            self.screen.blit(self.image3, (0, 0))
        if self.over:
            self.screen.blit(self.image2, (0, 0))

    def b(self):
        key = pygame.key.get_pressed()
        if key[K_SPACE]:
            self.over = True

    def mouse_info(self):
        image = pygame.image.load("./黄金矿工/start.jpg").convert_alpha()
        image.blit(image, (0, 0))
        again_rect = image.get_rect()

        if pygame.mouse.get_pressed()[0]:
            # 获取鼠标坐标
            pos = pygame.mouse.get_pos()
            # 如果用户点击“开始游戏”
            if again_rect.left < pos[0] < again_rect.right and again_rect.top < pos[1] < again_rect.bottom:
                # 调用main函数,开始游戏
                # main()
                self.flag = True


def main():
    # 初始化游戏
    pygame.init()

    # 创建一个窗口
    screen = pygame.display.set_mode((1400, 900))

    a = A(screen)

    while True:

        # 获取事件,比如按键等
        for event in pygame.event.get():
            # 判断是否是点击了退出按钮
            if event.type == QUIT:
                print("exit")
                exit()

        a.display()

        a.mouse_info()

        a.b()

        # 显示界面
        pygame.display.update()

        time.sleep(0.01)


if __name__ == '__main__':
    main()

矿石代码

import pygame
from pygame.locals import *
import time
import random


class Fond(pygame.sprite.Sprite):
    def __init__(self, screen, x, y):
        pygame.sprite.Sprite.__init__(self)
        # 定义石头默认显示的位置
        self.x = x
        self.y = y
        self.speed = 1  # 敌机移动速度
        self.speed2 = 10
        # 定义玩家图片
        self.image = pygame.image.load("./material/huangjin4.png")
        # 存储将来要显示的窗口对象引用
        self.screen = screen
        self.dic = "right"
        self.fenshu = 3000
        self.rect = self.image.get_rect()
        self.a = True
        # 定义一个变量来影响钩子的速度
        self.sudu = 1
        self.rect.topleft = [self.x, self.y]

    def display(self):
        """
        显示石头
        :return:
        """
        self.screen.blit(self.image, (self.x, self.y))
        self.rect.topleft = [self.x, self.y]

    def move(self):
        if self.a:
            if self.dic == "left":
                # self.y += self.speed
                self.x -= self.speed2
                if self.x <= 0:
                    self.dic = "right"
            elif self.dic == "right":
                self.x += self.speed2
                if self.x >= 1200:
                    self.dic = "left"
            self.rect.topleft = [self.x, self.y]


class Mouse(pygame.sprite.Sprite):
    def __init__(self, screen, x, y):
        pygame.sprite.Sprite.__init__(self)
        # 定义玩家默认显示的位置
        self.x = x
        self.y = y
        self.speed = 1  # 敌机移动速度
        self.speed2 = 10
        # 定义玩家图片
        self.image = pygame.image.load("./material/huangjin4.png")
        # 存储将来要显示的窗口对象引用
        self.screen = screen
        self.dic = "left"
        self.fenshu = 8000
        self.rect = self.image.get_rect()
        # 定义一个变量来影响钩子的速度
        self.sudu = 1
        self.a = True
        self.rect.topleft = [self.x, self.y]


    def display(self):
        """
        显示老鼠
        :return:
        """
        self.screen.blit(self.image, (self.x, self.y))
        self.rect.topleft = [self.x, self.y]

    def move(self):
        if self.a:
            if self.dic == "left":
                # self.y += self.speed
                self.x -= self.speed2
                if self.x <= 0:
                    self.dic = "right"
            elif self.dic == "right":
                self.x += self.speed2
                if self.x >= 1250:
                    self.dic = "left"
            self.rect.topleft = [self.x, self.y]


class Dog(pygame.sprite.Sprite):
    def __init__(self, screen, x, y):
        pygame.sprite.Sprite.__init__(self)
        # 定义玩家默认显示的位置
        self.x = x
        self.y = y
        self.speed = 1  # 敌机移动速度
        self.speed2 = 6
        # 定义玩家图片
        self.image = pygame.image.load("./material/huangjin4.png")
        # 存储将来要显示的窗口对象引用
        self.screen = screen
        self.dic = "left"
        self.fenshu = 30000
        self. sudu = 1
        self.rect = self.image.get_rect()
        self.rect.topleft = [self.x, self.y]
        # 定义一个变量来影响钩子的速度
        self.sudu = 30
        self.a = True

    def display(self):
        """
        显示狗
        :return:
        """
        self.screen.blit(self.image, (self.x, self.y))
        self.rect.topleft = [self.x, self.y]

    def move(self):
        if self.a:
            if self.dic == "left":
                # self.y += self.speed
                self.x -= self.speed2
                if self.x <= -50:
                    self.dic = "right"
            elif self.dic == "right":
                self.x += self.speed2
                if self.x >= 1150:
                    self.dic = "left"
            self.rect.topleft = [self.x, self.y]


class Cat(pygame.sprite.Sprite):
    def __init__(self, screen, x, y):
        pygame.sprite.Sprite.__init__(self)
        # 定义玩家默认显示的位置
        self.x = x
        self.y = y
        self.speed = 1  # 敌机移动速度
        self.speed2 = 6
        # 定义图
        self.image = pygame.image.load("./tututu/shitou4.png")
        # 存储将来要显示的窗口对象引用
        self.screen = screen
        self.dic = "left"
        self.fenshu = 100000
        self.rect = self.image.get_rect()
        self.a = True  # 定义一个变量来影响钩子的速度
        self.sudu = 1
        self.rect.topleft = [self.x, self.y]

    def display(self):
        """
        显示猫
        :return:
        """
        self.screen.blit(self.image, (self.x, self.y))
        self.rect.topleft = [self.x, self.y]

    # def move(self):
    #     if self.a:
    #         if self.dic == "left":
    #             # self.y += self.speed
    #             self.x -= self.speed2
    #             if self.x <= 0:
    #                 self.dic = "right"
    #         elif self.dic == "right":
    #             self.x += self.speed2
    #             if self.x >= 1000:
    #                 self.dic = "left"
    #         self.rect.topleft = [self.x, self.y]


class Manage_kuang(object):
    """管理石头类"""
    def __init__(self, screen):
        self.screen = screen
        self.fonds = list()  # 存储所有的石头
        self.x_list1 = list()
        self.x_list2 = list()
        self.x_list3 = list()
        self.x_list4 = list()

    def random_fond(self):
        """随机生成石头"""
        x = random.randint(200, 1200)
        y = random.randint(400, 500)
        if len(self.x_list1) < 1:
            fond = Fond(self.screen, x, y)
            self.fonds.append(fond)
            self.x_list1.append(x)
        if len(self.x_list1) < 3 and (x >= self.x_list1[-1]+300 or x <= self.x_list1[-1]-300):
            fond = Fond(self.screen, x, y)
            self.fonds.append(fond)
            self.x_list1.append(x)
            self.x_list1.sort()
        x1 = random.randint(200, 1200)
        y1 = random.randint(300, 700)
        if len(self.x_list2) < 1:
            mouse = Mouse(self.screen, x1, y1)
            self.fonds.append(mouse)
            self.x_list2.append(x1)
        elif len(self.x_list2) < 3 and (x1 >= self.x_list3[-1]+300 or x1 <= self.x_list3[-1]-300):
            mouse = Mouse(self.screen, x1, y1)
            self.fonds.append(mouse)
            self.x_list2.append(x1)
            self.x_list2.sort()
        x2 = random.randint(200, 1200)
        y2 = random.randint(500, 750)
        if len(self.x_list3) < 1:
            dog = Dog(self.screen, x2, y2)
            self.fonds.append(dog)
            self.x_list3.append(x2)
        elif len(self.x_list3) < 2 and (x2 >= self.x_list3[0]+300 or x2 <= self.x_list3[0]-300):
            dog = Dog(self.screen, x2, y2)
            self.fonds.append(dog)
            self.x_list3.append(x2)
            self.x_list3.sort()
        x3 = random.randint(200, 1100)
        y3 = random.randint(500, 700)
        if len(self.x_list4) < 1:
            cat = Cat(self.screen, x3, y3)
            self.fonds.append(cat)
            self.x_list4.append(x3)
        elif len(self.x_list4) < 1 and (x3 >= self.x_list3[-1]+300 or x3 <= self.x_list3[-1]-300):
            cat = Cat(self.screen, x3, y3)
            self.fonds.append(cat)
            self.x_list4.append(x3)
            self.x_list4.sort()


def main():
    # 创建一个窗口
    screen = pygame.display.set_mode((1400, 900))
    # 创建一个背景图片
    background = pygame.image.load("./material/back.png")

    # 创建一个图片,当做飞机
    hero_plane = pygame.image.load("./feiji/hero1.png")
    # 显示石头
    manage_kuang = Manage_kuang(screen)

    while True:
        # 随机石头
        manage_kuang.random_fond()
        for fond1 in manage_kuang.fonds:
            fond1.display()
            fond1.move()
        for mouse1 in manage_kuang.mouse:
            mouse1.display()
            mouse1.move()
        for dog1 in manage_kuang.dogs:
            dog1.display()
            dog1.move()
        for cat1 in manage_kuang.cats:
            cat1.display()
            cat1.move()

        # 获取事件,比如按键等
        for event in pygame.event.get():

            # 判断是否是点击了退出按钮
            if event.type == QUIT:
                print("exit")
                exit()  # 让整个程序结束,return让函数结束,break让循环结束
            # 判断是否是按下了键
            elif event.type == KEYDOWN:
                # 检测按键是否是a或者left
                if event.key == K_a or event.key == K_LEFT:
                    print('left')

                # 检测按键是否是d或者right
                elif event.key == K_d or event.key == K_RIGHT:
                    print('right')

                # 检测按键是否是空格键
                elif event.key == K_SPACE:
                    print('space')

        # 显示界面
        pygame.display.update()

        time.sleep(0.01)


if __name__ == '__main__':
    main()

以上就是全部完整的项目代码,目前有一个BUG尚未解决,但是程序能正常运行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

黄金矿工-Python 的相关文章

  • NLTK 2.0分类器批量分类器方法

    当我运行此代码时 它会抛出一个错误 我认为这是由于 NLTK 3 0 中不存在batch classify 方法 我很好奇如何解决旧版本中的某些内容在新版本中消失的此类问题 def accuracy classifier gold resu
  • 我应该使用 Python 双端队列还是列表作为堆栈? [复制]

    这个问题在这里已经有答案了 我想要一个可以用作堆栈的 Python 对象 使用双端队列还是列表更好 元素数量较少还是数量较多有什么区别 您的情况可能会根据您的应用程序和具体用例而有所不同 但在一般情况下 列表非常适合堆栈 append is
  • Django Rest Framework 是否有第三方应用程序来自动生成 swagger.yaml 文件?

    我有大量的 API 端点编写在django rest framework并且不断增加和更新 如何创建和维护最新的 API 文档 我当前的版本是 Create swagger yaml文件并以某种方式在每次端点更改时自动生成 然后使用此文件作
  • 如何从Python中的函数返回多个值? [复制]

    这个问题在这里已经有答案了 如何从Python中的函数返回多个变量 您可以用逗号分隔要返回的值 def get name you code return first name last name 逗号表示它是一个元组 因此您可以用括号将值括
  • python multiprocessing 设置生成进程等待

    是否可以生成一些进程并将生成进程设置为等待生成的进程完成 下面是我用过的一个例子 import multiprocessing import time import sys def daemon p multiprocessing curr
  • PyQt 使用 ctrl+Enter 触发按钮

    我正在尝试在我的应用程序中触发 确定 按钮 我当前尝试的代码是这样的 self okPushButton setShortcut ctrl Enter 然而 它不起作用 这是有道理的 我尝试查找一些按键序列here http ftp ics
  • Tensorboard SyntaxError:语法无效

    当我尝试制作张量板时 出现语法错误 尽管开源代码我还是无法理解 我尝试搜索张量板的代码 但不清楚 即使我不擅长Python 我这样写路径C Users jh902 Documents logs因为我正在使用 Windows 10 但我不确定
  • Python 3:将字符串转换为变量[重复]

    这个问题在这里已经有答案了 我正在从 txt 文件读取文本 并且需要使用我读取的数据之一作为类实例的变量 class Sports def init self players 0 location name self players pla
  • 使用 Python Oauthlib 通过服务帐户验证 Google API

    我不想使用适用于 Python 的 Google API 客户端库 但仍想使用 Python 访问 Google APIOauthlib https github com idan oauthlib 创建服务帐户后谷歌开发者控制台 http
  • pandas - 包含时间序列数据的堆积条形图

    我正在尝试使用时间序列数据在 pandas 中创建堆积条形图 DATE TYPE VOL 0 2010 01 01 Heavy 932 612903 1 2010 01 01 Light 370 612903 2 2010 01 01 Me
  • Pandas 组合不同索引的数据帧

    我有两个数据框df 1 and df 2具有不同的索引和列 但是 有一些索引和列重叠 我创建了一个数据框df索引和列的并集 因此不存在重复的索引或列 我想填写数据框df通过以下方式 for x in df index for y in df
  • 找到一个数字所属的一组范围

    我有一个 200k 行的数字范围列表 例如开始位置 停止位置 该列表包括除了非重叠的重叠之外的所有类型的重叠 列表看起来像这样 3 5 10 30 15 25 5 15 25 35 我需要找到给定数字所属的范围 并对 100k 个数字重复该
  • Spider 必须返回 Request、BaseItem、dict 或 None,已“设置”

    我正在尝试从以下位置下载所有产品的图像 我的蜘蛛看起来像 from shopclues items import ImgData import scrapy class multipleImages scrapy Spider name m
  • 如何使用 AWS Lambda Python 读取 AWS S3 存储的 Word 文档(.doc 和 .docx)文件内容?

    我的场景是 我尝试使用 python 实现从 Aws Lambda 读取 AWS 存储的 S3 word 文档 doc 和 docx 文件内容 下面的代码是我使用的 我的问题是我可以获取文件名 但无法读取内容 def lambda hand
  • 每当使用 import cv2 时 OpenCV 都会出错

    我在终端上使用 pip3 install opencv contrib python 安装了 cv2 并且它工作了 但是每当我尝试导入 cv2 或运行导入了 cv2 的 vscode 文件时 在 python IDLE 上它都会说 Trac
  • 重新分配唯一值 - pandas DataFrame

    我在尝试着assign unique值在pandas df给特定的个人 For the df below Area and Place 会一起弥补unique不同的价值观jobs 这些值将分配给个人 总体目标是使用尽可能少的个人 诀窍在于这
  • 制作一份 Python 文档的 PDF 文件

    Python 官方网站提供 PDF 文档下载 但它们是按章节分隔的 我下载了源代码并构建了 PDF 文档 这些文档也是单独的 PDF 我怎么能够从源代码中的 Makefile 构建一个 PDF 文件 我认为这样阅读起来会更方便 如果连接单独
  • 在virtualenv中下载sqlite3

    我正在尝试使用命令创建应用程序python3 manage py startapp webapp但我收到一条错误消息 django core exceptions ImproperlyConfigured 加载时出错 pysqlite2 或
  • 根据 Pandas 中的列表选择数据框行的子集

    我有一个数据框df1并列出x In 22 import pandas as pd In 23 df1 pd DataFrame C range 5 B range 10 20 2 A list abcde In 24 df1 Out 24
  • 如何使用 PrimaryKeyRelatedField 更新多对多关系上的类别

    Django Rest 框架有一个主键相关字段 http www django rest framework org api guide relations primarykeyrelatedfield其中列出了我的 IDmany to m

随机推荐

  • 如何训练和微调Transformer模型?

    训练和微调Transformer模型需要以下步骤 数据准备 准备训练数据集和验证数据集 数据集应该根据任务进行预处理 并转换为模型所需的输入格式 如tokenized的文本序列 模型构建 根据任务需求 使用TensorFlow或PyTorc
  • DEll笔记本进行虚拟化操作

    进入Bios模式方法 一 按开机键图标亮起后长按F2 二 电脑开机速度过快 可以点击电脑桌面下方win 设置 更新和安全 恢复 然后高级启动的立即重启 注意 点击完之后电脑会重启 疑难解答 高级选项 UEFI固件设置 重启后即可成功进入bi
  • Facebook研发团队的高效秘诀

    转自 http www testwo com article 398 今天主题是讲研发团队高效秘诀 我想说 我要讲的很多Facebook团队的特点 都是跟它的历史是有关系的 我会讲 Facebook 这个团队怎么样的从小到大 一点一点起来
  • Cesium开发基础 获取网上的3dtiles数据(仅做测试数据,不得商用)

    Cesium开发基础 获取网上的3dtiles数据 仅做测试数据 不得商用 本程序及利用本程序获得的资源严禁在网络上公开传播及用于商业用途 对于使用不当造成的法律后果 本程序的开发者 本文章的作者不承担任何连带责任 首先下载该程序 http
  • 应用SVM预测澳大利亚降雨(含数据预处理与调参)

    0 声明 本文主要内容来自视频 2020机器学习全集 菜菜的sklearn完整版 价值4999元的最全机器学习sklearn全集 赶紧收藏 哔哩哔哩 bilibili 课件来自 https pan baidu com s 1Xl4o0PMA
  • 操作系统——文件管理

    0 关注博主有更多知识 操作系统入门知识合集 目录 9 1文件系统概念 思考题 9 2文件的物理结构 思考题 9 3文件存储和目录 9 1文件系统概念 文件的定义 文件是计算机信息存取的一种重要组织形式 文件由若干信息项有序构成 信息项可以
  • html2pdf 一键生成pdf实践

    背景 项目中需要将查询的图表及表格一键生成pdf 便于运营查看操作 调研 经调研 目前社区有合适的插件实现 html2pdf js 该插件的实现原理就是将html内容获取 解析 用cavans画出来 生成图片 然后由图片生成pdf文件 使用
  • 子组件向父组件传值

    子组件 div style margin top 20px font size 14px span 已经拥有账户 span span span div
  • Qt 屏蔽qDebug 输出

    在pro 文件中定义 QT NO DEBUG OUTPUT 这个宏 就可以屏蔽qDebug 的输出了 DEFINES QT NO DEBUG OUTPUT 那么为什么定义这个宏就可以屏蔽qDebug 的输出呢 看qlogging h 中的定
  • origin设置不同区域的颜色_半分钟教程:关于 Origin 中 Error Bar,看这篇教程就够了...

    本教程转载自 Originlab 帮助中心 前 言 几年前 小编写过一篇关于 Error Bar 的小教程 Error Bar其实一点也不Error 文中介绍了 Error Bar 的基本使用方法 但还有一些内容没能介绍完全 比如如何添加不
  • layui 监听多选框(checkbox) 点击事件

    html代码
  • 关于MIPI协议(一)——物理层D-PHY总结

    关于MIPI协议 一 物理层D PHY总结 通读了一下MIPI物理层D PHY的规格书 拿掉了规格书中一些冗余繁复的部分 留下了一些比较重要的内容 现总结如下 规格书中前部分章节大篇幅论述了D PHY的几种内部实现结构 D PHY采用的是非
  • [Heat]Heat中资源的扩展与加载

    Heat的核心是stack 从某方面讲 heat就是围绕stack的生命周期在玩 stack又是由各种各样的资源组成的 heat除了自定义的大量资源外 还允许用户自定义自己需要的资源 提供了很强的扩展性 下面将简单分析heat资源加载的流程
  • Oracle---排序、分组、表连接

    文章目录 一 排序查询 二 分组查询 三 多表关联查询 表连接 1 内连接 2 外连接 3 自然连接 一 排序查询 使用ORDER BY子句排序 ASC 升序 默认情况下 DESC 降序 ORDER BY 子句在SELECT语句的结尾 例1
  • Mybatis Generator 逆向生成器

    一 首先 安装eclipse插件 Help Eclipser Marketplace中查找 Mybatis Generator 1 3 5安装 二 新建project New other 查找如下 点击next 选择你要将文件生成到哪里的项
  • avalon视频学习笔记(五)

    一 插入移除处理 1 绑定属性ms if a 当ms if的值为真 true 时 就将元素输出到页面里面 div div 根据条件显示内容 div div div div 根据条件显示内容 div div b 如果当ms if 的值为假 f
  • Pytorch c++ 部署报错解决方案

    目录 1 Only the versions between 2017 and 2019 inclusive are supported 2 Cannot find cuDNN library Turning the option off
  • Linux firewall(防火墙)相关命令

    1 检验防火墙是否启动 firewall cmd state 2 检查8080 端口是否启动 firewall cmd permanent zone public list ports 3 开启 8080 端口 firewall cmd z
  • 离群点检测算法python代码

    很高兴为您回答问题 在python中 可以使用以下几种方法实现离群点检测算法 Z score方法 该方法通过计算数据的Z score来识别离群点 您可以使用scipy库中的zscore函数来计算Z score IQR方法 该方法通过计算数据
  • 黄金矿工-Python

    首先做这个项目之前得清楚需要的材料和这个项目的结构 我自己感觉这个游戏项目的难点就在于钩子摆动的问题 它需要利用到三角函数来实现出来 我利用了pygame transform rotate 方法来实现钩字摇摆的问题 用sin和cos的方法来