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

【Python小游戏】智商爆棚,推荐一款益智类亲子娱乐首选—某程序员老爸:成语编成填空“游戏”,贪玩女儿1天牢记500词(厉害了我的Python)

前言

成语填空想必大家都是十分熟悉的了,特别是有在上小学的家长肯定都有十分深刻的印象。

在我们的认知里看图猜成语不就是一些小儿科的东西吗?

当然了你也别小看了成语调控小游戏,有的时候知识储备不够,你还真的不一定猜得出来是什

么?更重要的是有的时候给你这个提示你都看不懂,那你就拿他没办法。

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

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

——小学语文必备

成语是小学语文非常重要的一个知识点,几乎是逢考必有,作为基础,自然是需要长期的积

累,并且需要积累到一定的数量,有了一定的量才能够产生质变,对于语文成绩才能够有一个

分数上的提高。

词汇是语文不变的重点,尤其是成语,在作文中适量运用,可以为作文增加不少情感色彩,丰

富情感表达,使内容变得更有味道,更具味道,内涵。

但是对于成语的记忆却是很多同学语文学习中的痛难点,死记硬背效果太差,忙活一天就背了

几个词,效率实在是低下。

然而小学正是养成一个良好学习习惯的阶段,所以要找到适合自己的学习方法,这款游戏不仅

可以锻炼小孩子的思维能力,更能增加家人之间的娱乐呢!家里有小孩子的可以一起玩儿哦!

正文

一、环境准备

1)运行环境

 本文用到的环境如下—— 

 Python3、Pycharm社区版,第三方模块:pygame等部分自带的库只 要安装完 Python就可

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

 一般安装:pip install +模块名镜像源安装:pip install -i https://pypi.douban.com/simple/+模块名 

 (之前有说过安装报错的几种方式跟解决方法,不会安装的可以去看下,还有很多国内镜像源 也有文章的)

2)素材图片等

二、代码展示

主程序:

​
import sys
import random
import pygame
from pygame.locals import *
reload(sys)
sys.setdefaultencoding('utf-8')f = open('words.txt')
all_idiom = f.readlines()
f.close()word_dic = {}
for idiom in all_idiom:idiom = idiom.strip().decode('utf-8')for word in idiom:if word not in word_dic: word_dic[word] = [idiom]else:word_dic[word].append(idiom)word_arr = list(word_dic.keys())header_height = 30
main_space = 20block_size = 36
block_num=12
bspace = 2
space = 20
width = block_size * block_num + main_space * 2
height = header_height + block_size * block_num + main_space * 2 + (block_size+space) * 3pygame.init()
screen = pygame.display.set_mode((width,height))
screencaption = pygame.display.set_caption(u'成语填空')font = pygame.font.Font(u'syht.otf', int(block_size*0.8))dray_gray = 50,50,50
white = 255,255,255
#textImage = font.render(u'你好', True, white)class IdiomInfo(object):def __init__(self,idiom):self.idiom = idiomself.dire = 0self.word_arr = []class WordInfo(object):def __init__(self, word, i, j):self.i = iself.j = jself.word = wordself.is_lock = Trueself.state = -1self.hide_index = -1self.op_hide_index = -1class Matrix(object):rows = 0cols = 0data = []def __init__(self, rows, cols, data=None):self.rows = rowsself.cols = colsif data is None: data = [None for i in range(rows * cols)]self.data = datadef set_val(self, x, y, val):self.data[y * self.cols + x] = valdef get_val(self, x, y):return self.data[y * self.cols + x]def exist_val_four_around(self, x, y, ignore_set):move_arr = [(-1,0),(1,0),(0,-1),(0,1)]for dx,dy in move_arr:tx = x + dxty = y + dyif (tx,ty) in ignore_set: continueif tx < 0 or tx >= self.cols or ty <0 or ty >= self.rows: continueif self.data[ty * self.cols + tx]: return Truereturn Falsedef check_new_idiom(matrix, new_idiom, new_dire, word_info):windex = new_idiom.index(word_info.word)cx,cy = word_info.i, word_info.jignore_set = set([(cx,cy)])new_idiom_word_arr=[]for i in range(-windex,-windex+len(new_idiom)): if i==0: new_idiom_word_arr.append(word_info)else:tx = cx+i  if new_dire == 0 else  cxif tx < 0 or tx >= block_num: return None,Nonety = cy if new_dire == 0 else cy+iif ty < 0 or ty >= block_num: return None,Noneif matrix.exist_val_four_around(tx, ty, ignore_set): return None,Noneold_word_info = matrix.get_val(tx, ty)if old_word_info:return None,Nonenew_word_info = WordInfo(new_idiom[i+windex], tx, ty)new_idiom_word_arr.append(new_word_info)return new_idiom_word_arr,windexdef add_idiom_to_matrix(matrix, word_dic, idiom_dic, idiom_num):if idiom_num == 0: return 0for idiom,idiom_info in idiom_dic.items():dire = idiom_info.direnew_dire = 1 - direfor word_info in idiom_info.word_arr:word = word_info.wordidiom_list = word_dic[word]for new_idiom in idiom_list:if new_idiom in idiom_dic: continuenew_idiom_word_arr,windex = check_new_idiom(matrix, new_idiom, new_dire, word_info)if new_idiom_word_arr:new_idiom_info = IdiomInfo(new_idiom)new_idiom_info.dire = new_direfor new_index in range(len(new_idiom_word_arr)):new_word_info = new_idiom_word_arr[new_index]if new_index == windex:new_idiom_info.word_arr.append(word_info)else:matrix.set_val(new_word_info.i, new_word_info.j , new_word_info)new_idiom_info.word_arr.append(new_word_info)idiom_dic[new_idiom] = new_idiom_inforeturn len(new_idiom) -1 + add_idiom_to_matrix(matrix, word_dic, idiom_dic, idiom_num - 1)return 0def get_idiom_matrix(word_arr, word_dic, idiom_num):cx = 4cy = 4matrix = Matrix(block_num, block_num)n = random.randint(0,len(word_arr)-1)word = word_arr[n]idiom = word_dic[word][0]idiom_dic={}idiom_dic[idiom] = IdiomInfo(idiom)wn = len(idiom)last_i = -100for i in range(len(idiom)):word_info = WordInfo(idiom[i],cx-1+i,cy)matrix.set_val(cx-1+i,cy,word_info)idiom_dic[idiom].word_arr.append(word_info)wn += add_idiom_to_matrix(matrix, word_dic, idiom_dic, idiom_num-1)return matrix, idiom_dic, wnbg_image = pygame.image.load('bg.jpeg')
bg_image = pygame.transform.scale(bg_image,(width, height))bg2_image = pygame.image.load('bg2.jpeg')
bg2_image = pygame.transform.scale(bg2_image,(block_size*block_num,block_size*block_num))block_bg_image = pygame.image.load('tzg.jpg')
block_bg_image = pygame.transform.scale(block_bg_image,(block_size-bspace*2,block_size-bspace*2))def get_hide_arr(matrix, idiom_dic, all_word_num, percent):hide_arr = []for k,v in idiom_dic.items():n = random.randint(0, len(v.word_arr)-1)word_info = v.word_arr[n]if word_info.hide_index != -1:continueword = word_info.wordinfo = matrix.get_val(word_info.i,word_info.j)info.word = ''info.hide_index = len(hide_arr)info.is_lock = Falsehide_arr.append([word_info.i,word_info.j,word,None])tmp_arr = []for i in range(block_num):for j in range(block_num):info = matrix.get_val(i,j)if info and info.word:tmp_arr.append((i,j,info.word))while len(hide_arr) < all_word_num*percent:n = random.randint(0,len(tmp_arr)-1)i,j,word = tmp_arr.pop(n)info = matrix.get_val(i,j)info.word = ''info.hide_index = len(hide_arr)info.is_lock = Falsehide_arr.append([i,j,word,None])return hide_arr  def get_next_select(matrix, x, y):arr = []for i in range(block_num):for j in range(block_num):info = matrix.get_val(i, j)if info is not None and len(info.word) == 0:dist = (i-x)*(i-x)+(j-y)*(j-y)if i<x: dist+=0.2if j<y: dist+=0.4arr.append((i,j,dist))if len(arr) == 0:return Nonearr.sort(cmp=lambda x,y:cmp(x[-1],y[-1]))return (arr[0][0],arr[0][1])def check_idiom():for idiom, idiom_info in idiom_dic.items():tmp_idiom_str = ''word_arr = idiom_info.word_arrfor word_info in word_arr:word = word_info.wordif len(word) > 0:tmp_idiom_str+=wordif len(tmp_idiom_str) == len(idiom):state = 1 if tmp_idiom_str == idiom else 2else:state = 0for word_info in word_arr:if word_info.state != 1: word_info.state = statefor idiom, idiom_info in idiom_dic.items():word_arr = idiom_info.word_arrfor word_info in word_arr:if word_info.state != 1:return Falsereturn Truestage = 1def init(new_stage):idiom_num = (new_stage/5)+3if new_stage>100:percent = 0.7else:percent = 0.2+(new_stage*1.0/100)*(0.7-0.2)matrix,idiom_dic,all_word_num = get_idiom_matrix(word_arr, word_dic, idiom_num)hide_arr = get_hide_arr(matrix, idiom_dic, all_word_num, percent)select_rect = hide_arr[0][0],hide_arr[0][1]stage_textImage = pygame.font.Font(u'syht.otf', 30).render(u'第%s关'%new_stage, True, dray_gray)return matrix,idiom_dic,all_word_num,hide_arr,select_rect,stage_textImagematrix,idiom_dic,all_word_num,hide_arr,select_rect,stage_textImage = init(stage)stage_font_width, stage_font_height = stage_textImage.get_size()
stage_x = (width - stage_font_width)/2
stage_y = (header_height - stage_font_height)/2+main_space/2
while True:for event in pygame.event.get():if event.type == pygame.QUIT:pygame.quit()exit()if event.type == MOUSEBUTTONDOWN:pressed_array = pygame.mouse.get_pressed()if pressed_array[0]:x, y = pygame.mouse.get_pos()for i in range(block_num):for j in range(block_num):bx = main_space + block_size*i+bspaceby = header_height + main_space + block_size*j+bspaceif x >= bx and x <= bx+block_size-bspace*2 and y >= by and y<= by+block_size-bspace*2:info = matrix.get_val(i, j)if info and info.state != 1 and info.hide_index >= 0:if info.op_hide_index>=0:hide_arr[info.op_hide_index][-1] = Noneinfo.word = ''info.op_hide_index=-1check_idiom()select_rect = i,jbreaksx = main_spacesy = header_height + main_space+ block_size*block_num +spacen = 0for hi in range(len(hide_arr)):tmp_x = sx + (n%block_num)*block_sizetmp_y = sy + (n/block_num)*block_sizeif hide_arr[hi][-1] is None and x >= tmp_x and x <= tmp_x+block_size-bspace*2 and y >= tmp_y and y<= tmp_y+block_size-bspace*2:info = matrix.get_val(select_rect[0],select_rect[1])info.word = hide_arr[hi][2]info.op_hide_index = hiinfo.state = 0hide_arr[hi][-1] = select_rectnew_select_rect = get_next_select(matrix, select_rect[0],select_rect[1])select_rect = new_select_rectflag = check_idiom()if flag:stage += 1matrix,idiom_dic,all_word_num,hide_arr,select_rect,stage_textImage = init(stage)breakn += 1screen.blit(bg_image, (0,0))screen.blit(stage_textImage, (stage_x,stage_y))panel = screen.subsurface((main_space,header_height+main_space,block_size*block_num,block_size*block_num))panel.blit(bg2_image, (0,0))for i in range(block_num):for j in range(block_num):info = matrix.get_val(i,j)if info is not None:bx = block_size*i+bspaceby = block_size*j+bspacepanel.blit(block_bg_image, (bx,by))if info.state == 1:textImage = font.render(info.word, True, (30,144,30))elif info.state == 2:textImage = font.render(info.word, True, (255,0,0))elif info.is_lock == 1:textImage = font.render(info.word, True, (150,150,150))else:textImage = font.render(info.word, True, dray_gray)tw, th = textImage.get_size()dx=(block_size-bspace*2-tw)/2dy=(block_size-bspace*2-th)/2panel.blit(textImage, (bx+dx,by+dy))if (i,j) == select_rect:pygame.draw.rect(panel,(255,0,0),(bx,by,block_size-bspace*2,block_size-bspace*2),2)sx = main_spacesy = header_height + main_space+ block_size*block_num +spacen = 0for i,j,word,op in hide_arr:screen.blit(block_bg_image, (sx + (n%block_num)*block_size,sy + (n/block_num)*block_size))if op is None:textImage = font.render(word, True, dray_gray)tw, th = textImage.get_size()dx=(block_size-bspace*2-tw)/2dy=(block_size-bspace*2-th)/2screen.blit(textImage, (dx+sx+ (n%block_num)*block_size,dy+sy+ (n/block_num)*block_size))n+=1pygame.display.update()​

三、效果展示

1)成语填空第2关

2)成语填空第56关

总结

填词、娱乐、做游戏……原来成语还能这么记哦~

这样娱乐性质的学习是不是更加能激起孩子的学习动力呀,看来这款小游戏还是做的挺值得的

哈,有想要代码的可以滴滴我哈!

✨完整的素材源码等:可以滴滴我吖!或者点击文末hao自取免费拿的哈~

 🔨推荐往期文章——

项目4.4 【Pygame实战】这两款脑洞大开的文字剧情版游戏,99% 的人打了五星好评-《巨龙之洞》-《太空矿工》

项目4.5  【Pygamre实战】2023人气超高的模拟经营类游戏:“梦想小镇“代码版火爆全场,免费体验分享下载哦~

项目1.5  Pygame小游戏:植物大战僵尸游戏真的有“毒”?戒不掉啊~

项目1.6 【Pygame小游戏】斗地主我见多了,BUT 这款开源欢乐斗地主,最让人服气~

项目0.5   重温经典:Python版飞机大战源码,装逼神器。玩游戏就玩自己开发的~

项目0.6 【Python实战项目】做一个 刮刮乐 案例,一不小心....着实惊艳到我了。

🎁文章汇总——

Python文章合集 | (入门到实战、游戏、Turtle、案例等)

(文章汇总还有更多你案例等你来学习啦~源码找我即可免费!)    

相关文章:

【Python小游戏】智商爆棚,推荐一款益智类亲子娱乐首选—某程序员老爸:成语编成填空“游戏”,贪玩女儿1天牢记500词(厉害了我的Python)

前言 成语填空想必大家都是十分熟悉的了&#xff0c;特别是有在上小学的家长肯定都有十分深刻的印象。 在我们的认知里看图猜成语不就是一些小儿科的东西吗&#xff1f; 当然了你也别小看了成语调控小游戏&#xff0c;有的时候知识储备不够&#xff0c;你还真的不一定猜得出…...

使用web3连接Georli测试网络

文章目录1.使用geth方式在终端2.写成脚本2.1 通过metamask &#xff08;现成的太复杂&#xff0c;搞不太来&#xff09;2.2 通过自己的接口3.通过truffle方式连接 &#xff08;不成功&#xff09;目前的工作情况是&#xff0c;已在remix写好执行合约并部署在Georli测试网络中&a…...

Python uWSGI 的安装配置

以 Ubuntu/Debian 为例&#xff0c;先安装依赖包&#xff1a; apt-get install build-essential python-dev Python 安装 uWSGI 1、通过 pip 命令&#xff1a; pip install uwsgi 2、下载安装脚本&#xff1a; curl http://uwsgi.it/install | bash -s default /tmp/uwsgi 将…...

033.Solidity入门——20函数的可视范围

修饰符可见性描述public在合约内和合约外都可以被访问&#xff0c;即合约内外部都可以调用该函数。这种类型的函数可以被合约内和合约外的任何地址调用。private只有在当前合约内可以被访问&#xff0c;即只有合约内可以调用该函数。这种类型的函数只能在合约内部被调用。exter…...

智能家居项目(三)之框架设计及框架代码文件工程建立

目录 一、智能家居项目框架设计草图 二、框架代码文件工程建立 三、添加声音识别模块的串口读取功能 一、智能家居项目框架设计草图 代码思路讲解&#xff1a; 1、一个指令工厂&#xff0c;一个控制工厂&#xff0c;实际上就是通过链表链起来的数据。具体怎么链接起来&…...

全网最全的Ansible中常用模块讲解

目录 前言 一、ansible实现管理的方式 二、Ad-Hoc执行方式中如何获得帮助 三、ansible命令运行方式及常用参数 四、ansible的基本颜色代表信 五、ansible中的常用模块 1、command 2、shell 3、script 4、copy 5、fetch 6、file 7、 unarchive 8、archive 9、h…...

linux程序分析工具

嵌入式调试工具1. nm2. addr2line3. readelf3.1 ELF 文件分类3.2 ELF文件组成3.3使用1. nm nm源于name&#xff0c;是linux下一个文本分析工具&#xff0c;可以罗列指定文件中的符号(函数名、变量&#xff0c;以及符号类型)。 nm命令参数如下&#xff1a; 用法&#xff1a;nm …...

Python3,2分钟掌握Doscoart库,你也能成为艺术家。

2行代码绘制水彩画1、引言2、 代码实战2.1 模块介绍2.2 模块安装2.3 代码示例2.3.1 创建默认图片2.3.2 设置参数创建图片2.3.3 查看设置参数2.3.4 查看配置2.3.5 保存配置2.3.6 加载配置2.3.7 导出配置文件2.3.7 生成Python代码2.3.8 调用文档3、总结1、引言 小屌丝&#xff1…...

1225057-68-0,Alkyne PEG4 TAMRA-5,四甲基罗丹明-四聚乙二醇-炔基TAMRA红色荧光染料连接剂

中英文别名&#xff1a;CAS号&#xff1a;1225057-68-0 | 英文名&#xff1a;5-TAMRA-PEG4-Alkyne |中文名&#xff1a;5-四甲基罗丹明-四聚乙二醇-炔基物理参数&#xff1a;CASNumber&#xff1a;1225057-68-0Molecular formula&#xff1a;C36H41N3O8Molecular weight&#x…...

Ae:解释素材

所谓解释素材 Interpret Footage&#xff0c;就是通过修改素材的某些属性&#xff08;像素长宽比、帧速率、颜色配置文件及 Alpha 通道类型等&#xff09;&#xff0c;让它能更好地参与到合成中去。Ae菜单&#xff1a;文件/解释素材快捷键&#xff1a;Ctrl Alt G在项目面板里…...

无文件攻击

无文件攻击是一种高级持续性威胁&#xff08;APT&#xff09;的攻击方式&#xff0c;它不会在目标系统的磁盘上留下可执行文件&#xff0c;而是利用系统内置的工具或脚本执行恶意代码&#xff0c;从而绕过传统的安全防护措施。无文件攻击的最大特点就是恶意代码直接在内存中运行…...

JS高级——数据类型

数据类型 基本类型 String: 任意字符串Number: 任意的数字boolean: true/falseundefined: undefinednull: null 对象类型 Object: 任意对象Function 一种特别的对象&#xff08;可以执行&#xff09;Array: 一种特别的对象 判断 typeof //不能区分数组与对象、null与obje…...

场景案例│数字员工在银行业的典型应用场景,效率及准确率“双高”

伴随数字经济的高速发展&#xff0c;企业数字化转型步伐不断加快&#xff0c;银行内部信息系统越趋复杂&#xff0c;业务处理的自动化及智能化需求日益旺盛。调查显示&#xff0c;数字员工为60~75%的银行流程带来约30~40%的效能提升&#xff0c;能够全面帮助银行在各场景流程中…...

2023美国大学生数学建模竞赛选题建议

总的来说&#xff0c;这次算是美赛环境题元年&#xff0c;以往没有这么多环境题目&#xff0c;大部分题目都是开放度相当高的题目。C君认为的难度&#xff1a;D>C>AE>BF&#xff0c;开放度&#xff1a;DF>ABE>C。A题 遭受旱灾的植物群落这次A题为环境类题目&…...

整合K8s+SpringBoot+gRpc

本文使用K8s当做服务注册与发现、配置管理&#xff0c;使用gRpc用做服务间的远程通讯一、先准备K8s我在本地有个K8s单机二、准备service-providerpom<?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.…...

ROS 教程:使用 Moveit C++ 接口进行拾取和放置任务

文章目录 简介Moveit C++ 接口Gazebo 取放世界初始化界面拾取流程1.移动到原位2.将TCP放在蓝框上方3.打开夹具4. 将 TCP 移近物体5.关闭夹具6. 将 TCP 移至板上方7./8. 降低 TCP 并打开夹具使用 Moveit 避免碰撞将碰撞对象添加到 Moveit 规划组结论参考简介 本教程展示了如何使…...

seo细分和切入点

seo细分和切入点本文重点介绍做SEO网站细分和切入点的方法&#xff1a;当我们的行业和关键词竞争性比较大的时候&#xff0c;我们可以考虑对行业或者产品做细分&#xff0c;从而找到切入点。可以按照以下三个方面进行细分。1、按城市细分例如&#xff1a;A&#xff1a;餐饮培训…...

PyQt5数据库开发1 4.3 QSqlTableModel 之 Qt项目的创建

目录 一、新建Qt项目 1. 编辑资源文件 2. 添加前缀 3. 新建放资源文件的目录 4. 添加图标文件 二、Action 1. 新建打开数据库Action 2. 添加其他Action 三、工具栏 1. 添加工具栏 2. 拖动actOpenDB到工具栏 3. 设置工具栏属性 4. 添加分隔符 5. 添加其他工具 6.…...

【大数据】第三章:详解HDFS(送尚硅谷笔记和源码)

什么是HDFS HDFS是&#xff08;Hadoop Distributed File System&#xff09;的缩写&#xff0c;也即Hadoop分布式文件系统。它通过目录树定位在分布式场景下 在不同服务器主机上的文件。它适用于一次写入&#xff0c;多次读出的场景。 HDFS的优缺点 优点 1&#xff0c;高容…...

27岁想转行IT,还来得及吗?

来不来得及不还是看你自身的意愿和条件&#xff0c;这个问题要问你自己吧&#xff01; 每个人的能力、看法都不同。面对类似的问题&#xff0c;很多人会把侧重点放在IT上&#xff0c;或者27岁上面。那么我们试着换一个方式来问呢&#xff1a;什么时候适合转行&#xff0c;有哪些…...

Web前端CSS清除浮动的5种方法

在移动端清除浮动布局&#xff0c;常用的5种方法&#xff1a; 使用清除浮动的类&#xff1b;使用overflow属性&#xff1b;使用 flex 布局&#xff1b;使用grid 布局&#xff1b;使用 table 布局。 根据实际情况选择适合的方法&#xff0c;需要注意兼容性和语义性问题。在移动…...

Java:博客系统,实现加盐加密,分页,草稿箱,定时发布

文章目录1. 项目概述2. 准备工作2.1 数据库表格代码2.2 前端代码2.3 配置文件3. 准备项目结构3.1 拷贝前端模板3.2 定义实体类3.3 定义mapper接口和 xml 文件3.4 创建其他包4. 统一数据返回4.1 Result 类4.2 统一数据格式5. 注册5.1 逻辑5.2 验证数据规范性5.3 实现注册5.4 前端…...

JuiceFS 在火山引擎边缘计算的应用实践

火山引擎边缘云是以云计算基础技术和边缘异构算力结合网络为基础&#xff0c;构建在边缘大规模基础设施之上的云计算服务&#xff0c;形成以边缘位置的计算、网络、存储、安全、智能为核心能力的新一代分布式云计算解决方案。边缘存储主要面向适配边缘计算的典型业务场景&#…...

实验06 二叉树遍历及应用2022

A. 【程序填空】二叉树三种遍历题目描述给定一颗二叉树的特定先序遍历结果&#xff0c;空树用字符‘0’表示&#xff0c;例如AB0C00D00表示如下图请完成以下程序填空&#xff0c;建立该二叉树的二叉链式存储结构&#xff0c;并输出该二叉树的先序遍历、中序遍历和后序遍历结果输…...

基于蜣螂算法改进的LSTM分类算法-附代码

基于蜣螂算法改进的LSTM分类算法 文章目录基于蜣螂算法改进的LSTM分类算法1.数据集2.LSTM模型3.基于蜣螂算法优化的RF4.测试结果5.Matlab代码摘要&#xff1a;为了提高LSTM数据的分类预测准确率&#xff0c;对LSTM中的参数利用蜣螂搜索算法进行优化。1.数据集 数据的来源是 UC…...

如何正确应用GNU GPLv3 和 LGPLv3 协议

文章目录前言GNU GPLv3.0Permissions(许可)Conditions(条件)Limitations(限制)GNU LGPLv3.0应用GPLv3.0应用LGPLv3.0建议的内容&#xff1a;添加文件头声明附录GNU GPLv3.0原文GNU LGPLv3.0 原文前言 对于了解开源的朋友们&#xff0c;GNU GPL系列协议可谓是老朋友了。原来我基…...

Python局部函数及用法(包含nonlocal关键字)

Python 函数内部可以定义变量&#xff0c;这样就产生了局部变量&#xff0c;可能有人会问&#xff0c;Python 函数内部能定义函数吗&#xff1f;答案是肯定的。Python 支持在函数内部定义函数&#xff0c;此类函数又称为局部函数。 那么&#xff0c;局部函数有哪些特征&#x…...

关于BMS的介绍及应用领域

电池管理系统&#xff08;Battery Management System&#xff0c;BMS&#xff09;是一种集成电路系统&#xff0c;它用于监测和控制电池系统状态&#xff0c;以确保电池的正常运行和安全使用。BMS的应用涵盖了电动汽车、储能系统、无人机、电动工具等各个领域&#xff0c;可以提…...

2月datawhale组队学习:大数据

文章目录一、大数据概述二、 Hadoop2.1 Hadoop概述2.2 su:Authentication failure2.3 使用sudo命令报错xxx is not in the sudoers file. This incident will be reported.2.4 创建用户datawhale&#xff0c;安装java8&#xff1a;2.5 安装单机版Hadoop2.5.1 安装Hadoop2.5.2 修…...

在Spring框架中创建Bean实例的几种方法

我们希望Spring框架帮忙管理Bean实例&#xff0c;以便得到框架所带来的种种功能&#xff0c;例如依赖注入等。将一个类纳入Spring容器管理的方式有几种&#xff0c;它们可以解决在不同场景下创建实例的需求。 XML配置文件声明 <?xml version"1.0" encoding"…...

苹果网站用flash做/上海seo顾问

第二章&#xff1a;SVM&#xff08;支持向量机&#xff09; - 理论文档中的代码错误值2。欢迎来到监督式机器学习的第二块踏脚石。本章再次分为两部分。第1部分&#xff08;这一部分&#xff09;讨论了理论&#xff0c;工作和调整参数。第2部分&#xff08;这里&#xff09;我们…...

今天31个省新增最新消息视频/seo服务哪家好

计算机辅助普通话水平测试考生须知 (4页)本资源提供全文预览&#xff0c;点击全文预览即可全文预览,如果喜欢文档就下载吧&#xff0c;查找使用更方便哦&#xff01;9.9 积分计算机辅助普通话水平测试考生须知一、计算机辅助普通话水平测试的意义1.信息化&#xff1a;计算机智能…...

网站怎么做抽奖/上海seo招聘

要成为一个优秀的嵌入式工程师&#xff0c;你需要具备以下技能和素质: 熟练掌握计算机硬件知识&#xff0c;包括微处理器&#xff0c;存储器&#xff0c;输入/输出设备等。 精通嵌入式操作系统&#xff0c;包括实时系统和嵌入式 Linux 等。 熟悉嵌入式编程语言&#xff0c;如 C…...

拓者设计吧现代装修效果图/优化大师的作用

Token Contrast for Weakly-Supervised Semantic Segmentation 摘要 目的&#xff1a; 使用图像级标签的弱监督语义分割(WSSS)通常利用类激活映射(CAM)生成伪标签。受CNN局部结构感知的限制&#xff0c;CAM通常不能识别整体目标区域。虽然最近的视觉转换器(ViT)可以弥补这一…...

深圳自助网站建设费用/seo公司费用

文章目录1. UDP协议UDP报文格式UDP校验过程1. UDP协议 UDP只在IP数据报服务之上增加了很少功能&#xff0c;即复用分用和差错检测功能。 UDP的主要特点: UDP是无连接的&#xff0c;减少开销和发送数据之前的时延。 UDP使用最大努力交付&#xff0c;即不保证可靠交付。 UDP是…...

正规的网店平台有哪些/网站如何提升seo排名

torch.manual_seed(seed)设定生成随机数的种子&#xff0c;并返回一个torch._C.Generator对象&#xff0c;参数&#xff1a;seed(int or long):种子。torch.initial_seed()返回生成随机数的原始种子值&#xff08;python long&#xff09;。torch.get_rng_state() 返回随机生成…...