当前位置: 首页 > news >正文

wordpress付费阅读全文/东莞网站关键词优化排名

wordpress付费阅读全文,东莞网站关键词优化排名,仿58同城分类信息网站源码,宁波 网站建设导语 哈喽,我是你们的木木子👸! 今天小编要为大家介绍一款小编自己用代码码出来的赛车风格的打字小游戏 取名暂定为《🚗极限车神🚗》打字小游戏。 这款Pygame小游戏在玩法上可以说十分创新,不仅能游戏还…

导语

哈喽,我是你们的木木子👸!

今天小编要为大家介绍一款小编自己用代码码出来的赛车风格的打字小游戏

取名暂定为《🚗极限车神🚗》打字小游戏。

这款Pygame小游戏在玩法上可以说十分创新,不仅能游戏还能学到很多不同类型的编程代码

关键字的语言,比如我就做了这几款类型:Python、Java等。

下面我们就来看一下这款赛车风格打字微信小游戏《🚗极限车神🚗》具体怎么玩吧!

所有文章完整的素材+源码都在👇👇

粉丝白嫖源码福利,请移步至CSDN社区或文末公众hao即可免费。

文章下拉到底部,找到最后的文章汇总,只有你想不到,没有写不了代码编程好游戏!

「🎄Python顾木子吖荐中心🎄

搜罗了各种Python代码编辑的好玩的小游戏,超多类型的哦。关注小编经常写各好玩的小游戏,

还有人工智能、爬虫等各方面的知识点等着你来学习啦!

放心大胆的开始学习新知识吧,gogogo!👀👀

正文

让我们先来看看这款Pygame的经典点评吧,让大家快速了解一下🙌《极限车神》打字小游戏

关键词:休闲、赛车、竞技、竞速、操作、打字、闯关、限时。

氪金指数:0氪金。

推荐星数:4星❤(满星5星)

难度星数:5星❤(满星5星)

是一款有点考验玩家打字速度操作水平的赛车游戏,玩起来还有点意思,考验大家手速的时

候到啦。平常打字看键盘的小可爱你准备好了嘛?

一、环境准备

1)运行环境 

本文用到的环境如下—— 

 Python3、Pycharm社区版,第三方模块:Tkinter、Pygame。部分自带的库只要安装完

Python就可以直接使用了,需要安装 的库的话看教程下🎐
 

一般安装:pip install +模块名 镜像源安装:pip install -i https://pypi.douban.com/simple/+模块名(之前有说过安装报错的几种方式跟解决方法,不会安装的可以去看下,还有很多国内镜像源也有文章的)

还有准备一些数据源素材等这些大家可以用自己准备的哦!

图片文本素材等如下——

小游戏当然要有音乐更配啦~

二、代码实现

1)导入库

import tkinter as tk
import threading,random,time,datetime
import inspect
import ctypes
from tkinter import ttk
from pygame import mixer

2)主程序

FLAG = True  # 定义一个信号量,用于判断最前面的小车是否到达终点,游戏结束变为False
CARFLAG = True # 定义小车真正在窗口上移动时的信号量,当小车在窗口上静止不动时变为False
ROAD = ''  # 赛道(Python,Java,MySql赛道)# 玩家类
class Player:def __init__(self,username):self.username = '[玩家]'+username# 创建小车def car_create(self,c,carposy_list):self.car = Car('./sucai/car1.png', carposy_list, 'img1', self.username)self.car_img = tk.PhotoImage(file=self.car.filepath)c.create_image(self.car.posx, self.car.posy, image=self.car_img, tag=self.car.cartag)c.create_text(self.car.posx-30, self.car.posy, text=self.car.username, font=("Purisa", 16), fill='white', tag=self.car.username)
# 电脑类
class Computer:def __init__(self,username='[电脑]'):self.username = username# 创建小车def car_create(self,c,filepath, posy, cartag, username):self.car = Car(filepath, posy, cartag, username)self.car_img = tk.PhotoImage(file=self.car.filepath)c.create_image(self.car.posx, self.car.posy, image=self.car_img, tag=self.car.cartag)c.create_text(self.car.posx-30, self.car.posy, text=self.car.username, font=("Purisa", 16), fill='white',tag=self.car.username)
# 赛道类
class Road:def __init__(self,roadtype):self.text = []with open(f'./sucai/{roadtype}关键字.txt', mode='r', encoding='utf-8') as f:for line in f:self.text.append(line.strip().split('\t')[0])self.road_number = int(len(self.text)*1.2) if ROAD == 'Python' else int(len(self.text)*1.5) # 赛道的数量self.road_length = (self.road_number - 3) * 1000 # 需要跑完赛道的长度self.road_s = 0.0# 起点线def begin(self,c):c.create_rectangle(100, 50, 150, 352, fill='#FFF6EE', tag='begin')c.create_text(135, 200, text='R\ne\na\nd\ny\ni\nn\ng\n \nG\nO', font=("Purisa", 20), fill='black', tag='begin')# 终点线def destination(self,c):self.c_end = c.create_text(self.road_length - 120, 200, text='终\n点', font=("Purisa", 52), fill='white',tag='end')# 路相对于车移动def roadmove(self,c,tag_road):global FLAG,playerself.tag_road = tag_roadif FLAG:self.road_s += player.car.speedif self.road_s > 1000:self.road_s = 0.0if self.tag_road:c.delete(self.tag_road.pop(0))for i in range(1, self.road_number + 1):c.move(i, -player.car.speed, 0)c.move(self.c_end, -player.car.speed, 0)# 小树类
class Tree:speed = 0def __init__(self, posx,posy,filepath,treetag='tree'):self.posx = posxself.posy = posyself.filepath = filepathself.treetag = treetag# 创建树def tree_create(self,c):self.tree_img = tk.PhotoImage(file=self.filepath)c.create_image(self.posx, self.posy, image=self.tree_img, tag=self.treetag)# 树相对于车移动def treemove(self, c):global FLAG,playerif FLAG:if self.posx >10:self.speed = player.car.speedself.posx -= self.speedc.delete(self.treetag)c.create_image(self.posx, self.posy, image=self.tree_img, tag=self.treetag)else:self.posx = random.randint(550,950)self.speed = player.car.speedself.posx -= self.speedc.create_image(self.posx, self.posy, image=self.tree_img, tag=self.treetag)# 小车类
class Car:speed = 2.0  # 初始化小车的移动速度posx = 70  # 初始化小车的初始位置,x轴方向car_move_distance = []  # 记录小车,以初始化速度speed = 2.0开始移动的路程def __init__(self, filepath, posy, cartag, username):self.filepath = filepathself.posy = posyself.cartag = cartagself.username = username# 小车移动方法def car_move(self,c,car_img):global FLAGprint(self.username,'准备就绪...')self.car_img = car_imgdef run():if FLAG:if CARFLAG:self.posx += self.speedself.car_move_distance = []self.car_move_distance.append((self.cartag, self.posx))c.delete(self.cartag)c.create_image(self.posx, self.posy, image=self.car_img, tag=self.cartag)c.delete(self.username)c.create_text(self.posx, self.posy, text=self.username, font=("Purisa", 13), fill='white',tag=self.username)else:c.delete(self.cartag)c.create_image(self.posx, self.posy, image=self.car_img, tag=self.cartag)c.delete(self.username)c.create_text(self.posx, self.posy, text=self.username, font=("Purisa", 13), fill='white',tag=self.username)c.after(10, run)else: print(f'{self.username} 小车停止')run()# 小车移动速度随时变化def car_speed_change(self):global FLAG,playertime.sleep(2.3)while FLAG:if player.car.speed < 14: self.speed = random.uniform(player.car.speed - 0.3, player.car.speed + 0.7)elif 14 < player.car.speed < 18: self.speed = random.uniform(player.car.speed - 0.8, player.car.speed + 0.5)else: self.speed = random.uniform(19 - 1.1, 19 + 0.3)time.sleep(1)
# 打字类
class display_text:def __init__(self, gw):self.gw = gwself.l1_oop = []  # 存储提示标签对象self.l2_oop = []  # 存储玩家打字时的标签对象self.cpm_list = []    #用正确的总输入字符次数除以总花费的时间(以分钟为单位)self.typspeed = 0.0  # 记录打字的速度self.anwser = ''  # 拼接答案self.text = self.gw.road.text  # 单词内容self.text2 = self.text.copy()self.text.extend(self.text2)  # 单词内容翻倍 x 2self.text_number = len(self.text) / 2  # 单词个数self.loading_text()# 加载打字内容def loading_text(self):col = 1  # 列数number = 20  # 每页展示20个字for i, text in enumerate(self.text[:number]):l1 = tk.Label(gw.text_frame, text=text, bg='white', font=('微软雅黑', 15))l2 = tk.Label(gw.text_frame, text='', bg='white', font=('微软雅黑', 15))if i < int(number / 2):l1.grid(row=1, column=col, )l2.grid(row=2, column=col, )elif int(number / 2) <= i < number:l1.grid(row=3, column=col - int(number / 2), )l2.grid(row=4, column=col - int(number / 2), )col += 1l1.focus_set()l1.bind("<Key>", self.l_bind)self.l1_oop.append(l1)self.l2_oop.append(l2)# 标签绑定键盘事件def l_bind(self, event):# print(f"事件触发键盘输入:{event.char},对应的ASCII码:{event.keycode}")global FLAGif not FLAG: returnif not self.text: returnif event.keycode == 8:self.anwser = ''self.l2_oop[0].configure(text='')returnif not 65 <= event.keycode <= 90: returnself.anwser += event.charself.l2_oop[0].configure(text=self.anwser, bg='#FFFAE3')result = self.text[0]if self.anwser.strip() == result:self.cpm_list.append(result)self.l1_oop[0].configure(fg='red')self.text.remove(result)self.l1_oop.pop(0)self.l2_oop.pop(0)self.anwser = ''if not self.l1_oop and len(self.text) != 0:gw.text_frame.destroy()gw.display_text_frame()self.loading_text()returnif len(self.anwser) >= len(result):self.anwser = ''# 检测打字速度, 每分钟输入了多少字符def typing_speed(self):global FLAGtime_ = 0while FLAG:time_ += 1try:self.cpm = round(len(''.join(self.cpm_list)) / time_ * 60)self.wpm = round(len(self.cpm_list) / (time_ / 60))# 用来表示打字速度,即每分钟打多少个字(或单词)gw.cpm_label.configure(text=f'cpm:{self.cpm}')gw.wpm_label.configure(text=f'wpm:{self.wpm}')except:self.cpm = 0self.wpm = 0self.typspeed = self.cpm  / 12time.sleep(1)
# 游戏窗口类
class GameWindow:bgcolor = '#68696E' # 画布颜色root = tk.Tk()root.title('打字小游戏开发')screenwidth = root.winfo_screenwidth()screenheight = root.winfo_screenheight()def __init__(self):pass# 窗口页面的大小def window_page_size(self,windowsize):rootwidth, rootheight = windowsizerootposx = int((self.screenwidth - rootwidth) / 2)rootposy = int((self.screenheight - rootheight) / 2) - 100self.root.geometry('{}x{}+{}+{}'.format(rootwidth, rootheight, rootposx, rootposy))time.sleep(0.1)# 选择赛道def select_road(self):def func(event):global FLAG,CARFLAG,ROADFLAG = TrueCARFLAG = Trueroad = event.widget["text"]print(road)ROAD = road[:-2]self.select_road_frame.destroy()self.window_page_size((1000, 560))self.create_canvas()configuration_project(ROAD)self.recording_time()self.display_typing_speed()self.replay_button()self.return_button()self.window_page_size((500, 300))self.select_road_frame = tk.Frame(self.root)self.select_road_frame.place(x=0, y=0, width=500, height=300)for road in ['Python赛道','Java赛道','MySql赛道']:b = tk.Button(self.select_road_frame, text=road,font=('华文行楷', 26),relief=tk.RAISED,cursor='hand2',width=12,height=1)b.pack(pady=20)b.bind("<Button-1>", func)# 创建一张画布def create_canvas(self):self.canvas = tk.Canvas(self.root, width=1000, height=400, bg=self.bgcolor)self.canvas.place(x=0, y=0)# 创建一条路——赛道def create_road(self,roadtype):# self.road = Road('Java')  # 实列化一个路的对象(Java类型的路)self.road = Road(roadtype)  # 实列化一个路的对象(Python类型的路)self.road_img = tk.PhotoImage(file='./sucai/road.png')self.c_road = [self.canvas.create_image(i, 200, image=self.road_img, tag=f'c_road{i}') for i in range(500, self.road.road_number * 1000, 1000)]self.tag_road = [f'c_road{i}' for i in range(500, (self.road.road_number - 2) * 1000, 1000)]# 创建两棵树def create_tree(self):self.tree1 = Tree(posx=160, posy=350,filepath='./sucai/tree1.png',treetag='tree1')self.tree1.tree_create(self.canvas)self.tree2 = Tree(posx=230, posy=340,filepath='./sucai/tree2.png', treetag='tree2')self.tree2.tree_create(self.canvas)# 创建跑程进度条def displayprogressbar(self,caroop_list):maximum = self.road.road_lengthself.progressbar_list = []for i in range(4):progressbar = ttk.Progressbar(self.canvas, length=200, maximum=maximum)progressbar.place(x=10, y= 20 if i == 0 else i*40 + 20)tk.Label(self.canvas,text=caroop_list[i].username,fg='#191970').place(x=215,y=20 if i == 0 else i*40 + 20)self.progressbar_list.append(progressbar)# 重新开始按钮def replay_button(self):def function():global FLAG,CARFLAG,end_label_list,dtFLAG = FalseCARFLAG = Falsefor t in threading.enumerate()[1:]:stop_thread(t)self.canvas.destroy()self.text_frame.destroy()if end_label_list:for i in end_label_list: i.destroy()del dtFLAG = TrueCARFLAG = Trueself.create_canvas()configuration_project(ROAD)self.recording_time()self.return_button()self.replaybutton_img = tk.PhotoImage(file='./sucai/replay.png')tk.Label(self.root,text='重新开始').place(x=920,y=480)replaybutton = tk.Button(self.root, image=self.replaybutton_img, command=function)replaybutton.place(x=910,y=400)# 返回按钮def return_button(self):def function():global FLAG,CARFLAG,ROAD,end_label_list,dtFLAG = FalseCARFLAG = FalseROAD = ''for t in threading.enumerate()[2:]:stop_thread(t)self.canvas.destroy()self.text_frame.destroy()self.cpm_label.destroy()self.wpm_label.destroy()if end_label_list:for i in end_label_list: i.destroy()del dtself.select_road()self.returnbutton_img = tk.PhotoImage(file='./sucai/return.png')returnbutton = tk.Button(self.root,text='返回',image=self.returnbutton_img,command=function)returnbutton.place(x=900,y=50)# 记录游戏时间def recording_time(self):time_label = tk.Label(self.canvas, text='时长:00:00:00', font=("华文行楷", 15), background='#DAEFE6')time_label.place(x=870, y=20)start_time = datetime.datetime.now()def run():global FLAGif FLAG:time_label.after(1000, run)update_time = datetime.datetime.now() - start_timeself.time_ = f'时长:{update_time}'.split('.')[0]time_label.configure(text=self.time_)  # 不显示时长的毫秒值run()# 展示文本def display_text_frame(self):self.text_frame = tk.Frame(self.root, bg='white')self.text_frame.place(x=100, y=400, width=800, height=150)# 显示打字速度def display_typing_speed(self):self.cpm_label = tk.Label(self.root,text='cpm:0', font=("微软雅黑", 13),fg='#A52A2A')self.cpm_label.place(x=8,y=410)self.wpm_label = tk.Label(self.root, text='wpm:0', font=("微软雅黑", 13),fg='#A52A2A')self.wpm_label.place(x=8, y=440)# 播放背景音乐函数def playmusic(self,):global FLAGmixer.init()mixer.music.load('./sucai/bgmusic.mp3')mixer.music.play()while FLAG:time.sleep(2)mixer.music.stop()# 显示窗口def displaywindow(self):self.root.resizable(False, False)self.root.mainloop()def _async_raise(tid, exctype):tid = ctypes.c_long(tid)if not inspect.isclass(exctype):exctype = type(exctype)res = ctypes.pythonapi.PyThreadState_SetAsyncExc(tid, ctypes.py_object(exctype))if res == 0:raise ValueError("invalid thread id")elif res != 1:ctypes.pythonapi.PyThreadState_SetAsyncExc(tid, None)raise SystemError("PyThreadState_SetAsyncExc failed")
# 停止正在运行中的线程
def stop_thread(thread):_async_raise(thread.ident, SystemExit)# 监测小车移动时的数据变化
def monitoring_data(gw,caroop_list,dt):global FLAG,CARFLAG,end_label_listtime.sleep(2.5) # 休眠2.5秒后才开始gw.displayprogressbar(caroop_list) #显示完成跑道的进度条gw.canvas.delete('begin') # 删除起点线gw.road.destination(gw.canvas) # 创建终点线player_car_s = player.car.car_move_distance[0][1]timesleep3_posx_s_list = {}for i in caroop_list:timesleep3_posx_s_list[i.username] = i.car.car_move_distance[0][1]print(i.username,'已跑起来')while FLAG:CARFLAG = Falsefor idx,p in enumerate(gw.progressbar_list):p['value'] = timesleep3_posx_s_list[caroop_list[idx].username]if max(timesleep3_posx_s_list.values()) > gw.road.road_length:FLAG = Falseranking = sorted(timesleep3_posx_s_list.items(), key=lambda x: x[1]) # 排名for idx,username in enumerate(ranking[::-1]):l = tk.Label(gw.root, text=username[0] + f'  第{idx + 1}名', font=('微软雅黑', 28), bg='white')l.pack(pady=30)end_label_list.append(l)print('游戏结束')return# player.car.speed = 30player.car.speed = dt.typspeed  #使小车速度 = 打字速度player_car_s += player.car.speed #让小车此时已移动的路程加上小车速度timesleep3_posx_s_list[player.username] = player_car_sfor i, caroop in enumerate(caroop_list[1:]):caroop.car.posx += caroop.car.speed - player.car.speedtimesleep3_posx_s_list[caroop.username] = timesleep3_posx_s_list[caroop.username] + caroop.car.speedgw.road.roadmove(gw.canvas, gw.tag_road)  # 赛道相对小车的速度,开始移动gw.tree1.treemove(gw.canvas)  # 树1相对小车的速度,开始移动gw.tree2.treemove(gw.canvas)  # 树2相对小车的速度,开始移动time.sleep(0.0095)# 配置运行流程
def configuration_project(roadtype):print('游戏开始')global player,gw,dt,end_label_listtplaymusic = threading.Thread(target=gw.playmusic)  # 开启一个播放背景音乐的线程tplaymusic.setDaemon(True)tplaymusic.start()gw.create_road(roadtype)   # 创建赛道gw.create_tree()       # 创建树gw.road.begin(gw.canvas)  #创建一条起点线gw.display_text_frame()  # 创建展示文本的frameend_label_list = []      # 游戏结束时,存放显示名次的标签列表caroop_list = []                    # 添加所有玩家(小车)对象carposy_list = [90, 147, 250, 309]  # 定义四个小车初始化的y轴坐标player = Player('yyds')  # 创建一个真人玩家对象player.car_create(gw.canvas, carposy_list[0]) # 生成一个属于真人玩家的小车caroop_list.append(player)for i in range(3): #创建三个电脑玩家computer = Computer(f'[电脑]{i+1}')computer.car_create(gw.canvas,f'./sucai/car{i+2}.png', carposy_list[i+1], f'img{i+2}', computer.username)# 生成属于电脑玩家的小车caroop_list.append(computer)for caroop in caroop_list:tcm = threading.Thread(target=caroop.car.car_move,args=(gw.canvas,caroop.car_img)) # 为每一个玩家开启一个线程,用来启动各自的小车tcm.setDaemon(True)tcm.start()tcsc = threading.Thread(target=caroop.car.car_speed_change)  #为每一辆小车定时随机改变小车的移动速度tcsc.setDaemon(True)tcsc.start()dt = display_text(gw)  # 实例化一个打字所用的文本内容对象tdt = threading.Thread(target=dt.typing_speed) # 开启线程来记录打字的速度tdt.setDaemon(True)tdt.start()tmd = threading.Thread(target=monitoring_data, args=(gw, caroop_list, dt)) # 开启线程来记录每一辆小车移动时的数据变化tmd.setDaemon(True)tmd.start()
def start():global gwgw = GameWindow()  # 实例化一个游戏窗口对象gw.select_road()   # 选择赛道gw.displaywindow()if __name__ == '__main__':start()

三、效果实现

这款《极限车神打字小游戏》顾名思义就是一个打字的游戏,只有打字速度快,你的赛车才能

跑起来哦。游戏分为三个赛道,都是关于不同编程的关键字英文,边玩游戏还能提升自己哦,

两全其美哦!

1)游戏界面

​2)Python赛道游戏界面

3)赛道起飞

其他的赛道,以及后续的就给大家留点儿悬念啦。嘿嘿,我们下期再见~

总结

小编目前最远跑了昂几十个单词,(倔强,没有认真跑,我发四)前面很好跑,后面的地形是

真的不容易,要不要看看你能跑多远呢?

关注小编即可马上找我拿完整的素材源码开始游戏哦。来来来~

🎯完整的免费源码领取处:找我吖!文末公众hao可自行领取,滴滴我也可!

项目1.0  超级玛丽

程序员自制游戏:超级玛丽100%真实版,能把你玩哭了~【附源码】

项目1.1   扫雷

 Pygame实战:据说这是史上最难扫雷游戏,没有之一,你们感受下......

项目1.4  水果忍者 

【Pygame实战】风靡全球的切水果游戏升级版“水果忍者”上线啦,你敢来PK嘛?

项目7.0  赛车游戏

【Pygame实战】如果你是赛车爱好者:这款新赛车游戏分分钟让你上瘾(超跑又是谁的梦想?)

项目7.1  虐单身狗游戏

​​​​​​Pygame实战:慎点|虐单身狗的最高境界是…【附源码】

🎄文章汇总——

汇总合集 Python—2022 |已有文章汇总 | 持续更新,直接看这篇就够了

(更多内容+源码都在✨文章汇总哦!!欢迎阅读喜欢的文章🎉~)

相关文章:

【Python小游戏】通过这款专为程序员设计的《极限车神》小游戏,你的打字速度可以赢过专业录入员,这个秘密98%的人都不知道哦~(爆赞)

导语 哈喽&#xff0c;我是你们的木木子&#x1f478;&#xff01; 今天小编要为大家介绍一款小编自己用代码码出来的赛车风格的打字小游戏 取名暂定为《&#x1f697;极限车神&#x1f697;》打字小游戏。 这款Pygame小游戏在玩法上可以说十分创新&#xff0c;不仅能游戏还…...

Springboot扩展点之BeanPostProcessor

前言 Springboot&#xff08;Spring&#xff09;的扩展点其实有很多&#xff0c;但是都有一个共同点&#xff0c;都是围绕着Bean和BeanFactory&#xff08;容器&#xff09;展开的&#xff0c;其实这也很好理解&#xff0c;Spring的核心是控制反转、依赖注入、面向切面编程&…...

Fluent Python 笔记 第 3 章 字典和集合

3.1 泛映射类型 只有可散列 的数据类型才能用作这些映射里的键 字典构造方法&#xff1a; >>> a dict(one1, two2, three3) >>> b {one: 1, two: 2, three: 3} >>> c dict(zip([one, two, three], [1, 2, 3])) >>> d dict([(two, 2…...

大型物流运输管理系统源码 TMS源码

大型物流运输管理系统源码 TMS是一套适用于物流公司的物流运输管理系统&#xff0c;涵盖物流公司内部从订单->提货->运单->配车->点到->预约->签收->回单->代收货款的全链条管理系统。 菜单功能 一、运营管理 1、订单管理&#xff1a;用于客户意向订…...

PCIE总线

PCIE总线记录描述PCI分类与速度PCIE连接拓扑与角色PCIE接口定义PCIE数据传输方式与中断在PCIE中有两种数据传输方式&#xff1a;PCIE中断&#xff1a;PCIE协议栈与工作流程PCIE地址空间分类实例分析PCIE两种访问方式描述 PCI-Express(peripheral component interconnect expre…...

Android IO 框架 Okio 的实现原理,如何检测超时?

本文已收录到 AndroidFamily&#xff0c;技术和职场问题&#xff0c;请关注公众号 [彭旭锐] 提问。 前言 大家好&#xff0c;我是小彭。 在上一篇文章里&#xff0c;我们聊到了 Square 开源的 I/O 框架 Okio 的三个优势&#xff1a;精简且全面的 API、基于共享的缓冲区设计以…...

简单介绍反射

1.定义Java的反射机制是在运行状态中&#xff0c;对于任意一个类&#xff0c;都知道这个类的所有属性和方法&#xff1b;对于任意一个对象&#xff0c;都能调用它的任意方法和属性&#xff0c;既然能拿到&#xff0c;我们就可以修改部分类型信息&#xff1b;这种动态获取信息的…...

PyTorch学习笔记:nn.MSELoss——MSE损失

PyTorch学习笔记&#xff1a;nn.MSELoss——MSE损失 torch.nn.MSELoss(size_average None&#xff0c;reduce None&#xff0c;reduction mean)功能&#xff1a;创建一个平方误差(MSE)损失函数&#xff0c;又称为L2损失&#xff1a; l(x,y)L{l1,…,lN}T,ln(xn−yn)2l(x,y)L…...

apache和nginx的TLS1.0和TLS1.1禁用处理方案

1、TLS1.0和TLS1.1是什么&#xff1f; TLS协议其实就是网络安全传输层协议&#xff0c;用于在两个通信应用程序之间提供保密性和数据完整性&#xff0c;TLS 1. 0 和TLS 1. 1 是分别是96 年和 06 年发布的老版协议。 2、为什么要禁用TLS1.0和TLS1.1传输协议 TLS1.0和TLS1.1协…...

K_A12_002 基于STM32等单片机采集光敏电阻传感器参数串口与OLED0.96双显示

K_A12_002 基于STM32等单片机采集光敏电阻传感器参数串口与OLED0.96双显示一、资源说明二、基本参数参数引脚说明三、驱动说明IIC地址/采集通道选择/时序对应程序:四、部分代码说明1、接线引脚定义1.1、STC89C52RC光敏电阻传感器模块1.2、STM32F103C8T6光敏电阻传感器模块五、基…...

《机器学习》学习笔记

第 2 章 模型评估与选择 2.1 经验误差与过拟合 精度&#xff1a;精度1-错误率。如果在 mmm 个样本中有 aaa 个样本分类错误&#xff0c;则错误率 Ea/mEa/mEa/m&#xff0c;精度 1−a/m1-a/m1−a/m。误差&#xff1a;一般我们把学习器的实际预测输出与样本的真实输出之间的差…...

前端卷算法系列(一)

前端卷算法系列&#xff08;一&#xff09; 两数之和 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同…...

【机器学习】聚类算法(理论)

聚类算法&#xff08;理论&#xff09; 目录一、概论1、聚类算法的分类2、欧氏空间的引入二、K-Means算法1、算法思路2、算法总结三、DBSCAN算法1、相关概念2、算法思路3、算法总结四、实战部分一、概论 聚类分析&#xff0c;即聚类&#xff08;Clustering&#xff09;&#xf…...

Docker-用Jenkins发版Java项目-(1)Docke安装Jenkins

文章目录前言环境背景操作流程docker安装及jenkins软件安装jenkins配置登录配置安装插件及创建账号前言 学海无涯&#xff0c;旅“途”漫漫&#xff0c;“途”中小记&#xff0c;如有错误&#xff0c;敬请指出&#xff0c;在此拜谢&#xff01; 最近新购得了M2的MAC&#xff0c…...

java集合框架内容整理

主要内容集合框架体系ArrayListLinkedListHashSetTreeSetLinkedHashSet内部比较器和外部比较器哈希表的原理List集合List集合的主要实现类有ArrayList和LinkedList&#xff0c;分别是数据结构中顺序表和链表的实现。另外还包括栈和队列的实现类&#xff1a;Deque和Queue。• Li…...

win10系统安装Nginx

Nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器&#xff0c;同时也提供了IMAP/POP3/SMTP服务。 Nginx可以进行反向代理、负载均衡、HTTP服务器&#xff08;动静分离&#xff09;、正向代理等操作。因为最近在公司使用到了Nginx 第一步&#xff1a;下载Nginx …...

数据库学习笔记(2)——workbench和SQL语言

1、workbench简介&#xff1a; 登录客户端的两种方法 在cmd中&#xff0c;只能通过sql语句控制数据库&#xff1b;workbench其实就是一种图形化数据库管理工具&#xff0c;在workbench中既可以通过sql语句控制数据库&#xff0c;也可以通过图形化界面控制数据库。通过workbenc…...

测量学期末考试之名词解释总结

仅供自己参考&#xff0c;且范围不全面.大地水准面与处于静止平衡状态的平均海水面重合&#xff0c;并延伸通过陆地的水准面高程地面点到大地水准面的铅锤距离水准面处于静止状态的水面就是水准面高差两点的水准面之间的铅锤距离垂直角在铅锤面上&#xff0c;瞄准目标的倾斜视线…...

TDengine时序数据库的简单使用

最近学习了TDengine数据库&#xff0c;因为我们公司有硬件设备&#xff0c;设备按照每分钟&#xff0c;每十分钟&#xff0c;每小时上传数据&#xff0c;存入数据库。而这些数据会经过sql查询&#xff0c;统计返回展示到前端。但时间积累后现在数据达到了百万级数据&#xff0c…...

记录每日LeetCode 2335.装满被子需要的最短总时长 Java实现

题目描述&#xff1a; 现有一台饮水机&#xff0c;可以制备冷水、温水和热水。每秒钟&#xff0c;可以装满 2 杯 不同 类型的水或者 1 杯任意类型的水。 给你一个下标从 0 开始、长度为 3 的整数数组 amount &#xff0c;其中 amount[0]、amount[1] 和 amount[2] 分别表示需要…...

了解线程池newFixedTheadPool

什么是线程池 操作系统 能够进行运算 调度 的最小单位。线程池是一种多线程处理形式。 为什么引入线程池的概念 解决处理短时间任务时创建和销毁线程代价较大的弊端&#xff0c;可以使用线程池技术。 复用 饭店只有一个服务员和饭店有10个服务员 线程池的种类 newFixedThea…...

IP分片和TCP分段解析--之IP分片

本文目录什么是IP分片为什么会产生IP分片为什么要避免IP分片如何避免IP分片什么是IP分片 IP协议栈将TCP/UDP传输层要求它发送的&#xff0c;但长度大于发送端口MTU的一个数据包&#xff0c;分割成多个IP报文后分多次发送。这些分成多次发送的多个IP报文就是IP分片。 为什么会…...

物联网方向常见通信方式有哪些?

常用的有线通信方式有串口、以太网等。 1、串口 串口通信普及率高、成本低,但是组网能力差,只适合低速率和小数据量的通信 2、以太网接口(网线) 以太网(Ethernet)是目前最普遍的一种局域网 通信技术,它规定了包括 物理层的连线、电子信号和介质访问层协议的内容。 以太…...

windows wireshark抓到未加入组的组播消息

现象 在Windows上开启wireshark&#xff0c;抓到了大量地址为239.255.255.251的组播包。 同时&#xff0c;根据组播相关命令&#xff0c;调用netsh interface ipv4 show joins&#xff0c;显示当前并没加入 239.255.255.251 组播组。 解决 根据IGMP Snooping&#xff0c;I…...

【PTA Advanced】1156 Sexy Primes(C++)

目录 题目 Input Specification: Output Specification: Sample Input 1: Sample Output 1: Sample Input 2: Sample Output 2: 思路 代码 题目 Sexy primes are pairs of primes of the form (p, p6), so-named since "sex" is the Latin word for "…...

项目(今日指数)

一 项目架构1.1 今日指数技术选型【1】前端技术【2】后端技术栈【3】整体概览3.2 核心业务介绍1】业务结构预览【2】业务功能简介1.定时任务调度服务XXL-JOB通过RestTemplate多线程动态拉去股票接口数据&#xff0c;刷入数据库&#xff1b; 2.国内指数服务 3.板块指数服务 4.涨…...

适配器模式(Adapter Pattern)

1.什么是适配器模式&#xff1f; 适配器模式&#xff08;Adapter Pattern&#xff09;是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式&#xff0c;它结合了两个独立接口的功能。 这种模式涉及到一个单一的类&#xff0c;该类负责加入独立的或不兼容的接…...

网易一面:select分页要调优100倍,说说你的思路? (内含Mysql的36军规)

背景说明&#xff1a; Mysql调优&#xff0c;是大家日常常见的调优工作。所以Mysql调优是一个非常、非常核心的面试知识点。 在40岁老架构师 尼恩的读者交流群(50)中&#xff0c;其相关面试题是一个非常、非常高频的交流话题。 近段时间&#xff0c;有小伙伴面试网易&#x…...

二叉树的遍历 (2023-02-11)

二叉树的遍历 二叉树的遍历分为&#xff1a;先序遍历、中序遍历、后序遍历和层次遍历。 1.先序遍历&#xff08;根左右&#xff09; &#xff08;1&#xff09;访问根节点 &#xff08;2&#xff09;左子树按根左右遍历 &#xff08;3&#xff09;右子树按根左右遍历 2.中序…...

string的深浅拷贝问题

深浅拷贝问题引入浅拷贝深拷贝总结问题引入 对于一个普通的string类&#xff1a; class String { public:String(const char* str ""){//构造函数if (nullptr str)str "";_str new char[strlen(str) 1];strcpy(_str, str);}~String(){//析构函数if …...