精华内容
下载资源
问答
  • 初级贪吃蛇c语言实现,使用初级c语言实现贪吃蛇小游戏的编译,经多次试验,本代码兼容性较好,适合初学者尽快理解c语言的基本知识
  • 巨洞冒险又名ADVENT、Clossal Cave 或 Adventure,是八十年代初到.../* fp8文件是应用世界上压缩率最高的paq压缩算法的FastPAQ压缩软件的专有格式,你可在CSDN上下载【FastPAQ--世界最强压缩软件下载】以解压fp8文件*/
  • 文本表达式运算代码

    2011-12-20 11:06:34
    游戏开发中,大量的数值计算公式...这样策划只需要将数值计算公式定义在文本文件内,代码中提高参数进行运算即可. 由于是直接从工程里拿出来的,肯定是编译不过去的.不过大家看算法就可以了.很容易修改到自己的工程里去.
  • java小型游戏项目(文档与源代码) java小型游戏项目(文档与源代码) java小型游戏项目(文档与源代码) java小型游戏项目(文档与源代码)
  • 游戏制作之路(30)用代码显示文本

    千次阅读 2018-12-24 14:03:19
    前面学习了怎么样使用GUI.Button()函数来显示按钮,接着下来继续学习使用代码来显示文本。 其实有了前面的知识,再来学习显示纯文本显示,就是非常容易的事情。用Rect定义一个区域,让文本在这个区域里进行显示即可...

    前面学习了怎么样使用GUI.Button()函数来显示按钮,接着下来继续学习使用代码来显示文本。
    其实有了前面的知识,再来学习显示纯文本显示,就是非常容易的事情。用Rect定义一个区域,让文本在这个区域里进行显示即可。如下面的代码:

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class SampleButton : MonoBehaviour {
    
        private int count;
        private Rect btnRect;
    
        private Rect labelRect;
    
    	// Use this for initialization
    	void Start ()
        {
            count = 0;
            btnRect = new Rect();
            labelRect = new Rect();
    	}
    	
    	// Update is called once per frame
    	void Update ()
        {
    		
    	}
    
        //界面显示
        private void OnGUI()
        {
            btnRect.x = Screen.width / 3;
            btnRect.y = Screen.height * 2 / 5;
            btnRect.width = Screen.width / 3;
            btnRect.height = Screen.height / 5;
    
            if (GUI.Button(btnRect, "深圳改革开放"))
            {
                print(count);
                count++;
            }
    
            //显示标签文本
            labelRect.x = Screen.width / 3 ;
            labelRect.y = Screen.height * 4 / 5;
            labelRect.width = Screen.width / 3;
            labelRect.height = Screen.height / 5;
    
            GUI.Label(labelRect, "纯文本显示");
    
        }
    }
    

    然后在后面添加一段设置labelRect的坐标和大小,接着用 GUI.Label函数来显示出来,当你点击运行之后,就可以看到下面的界面:

    在这个例子里,简单地学会了用代码来显示纯文本。

    https://blog.csdn.net/caimouse/article/details/51749579

    展开全文
  • 文本文件还支持字典定义,拼字游戏以及与好友点查找,反义词和同义词。 支持的语言和范围 CSS HTML Java JavaScript Matlab的 纯文本(词典) Python Perl Ruby 用法 <strong>List Property Values - ...
  • 对于学习游戏外挂攻防原理,深入了解外挂运行机理,对于游戏的保护有重要作用。
  • C语言扫雷游戏文件代码,包含三个文件:main.c/ key.c/ miner.c
  • 本文要点刚要:(一)读文本文件格式的数据函数:read_csv,read_table1.读不同分隔符的文本文件,用参数sep2.读无字段名(表头)的文本文件 ,用参数names3.为文本文件制定索引,用index_col4.跳行读取文本文件,用...

    本文要点刚要:

    (一)读文本文件格式的数据函数:read_csv,read_table

    1.读不同分隔符的文本文件,用参数sep

    2.读无字段名(表头)的文本文件 ,用参数names

    3.为文本文件制定索引,用index_col

    4.跳行读取文本文件,用skiprows

    5.数据太大时需要逐块读取文本数据用chunksize进行分块。

    (二)将数据写成文本文件格式函数:to_csv

    范例如下:

    (一)读取文本文件格式的数据集

    1.read_csv和read_table的区别:

    #read_csv默认读取用逗号分隔符的文件,不需要用sep来指定分隔符

    import pandas as pd

    pd.read_csv('C:\Users\xiaoxiaodexiao\pythonlianxi\test0424\data.csv')

    L3Byb3h5L2h0dHBzL2ltYWdlczIwMTguY25ibG9ncy5jb20vYmxvZy8xMzY4MzM2LzIwMTgwNC8xMzY4MzM2LTIwMTgwNDI2MjI0MTIxMjkyLTk3OTk2NDIzNy5wbmc=.jpg

    #read_csv如果读的是用非逗号分隔符的文件,必须要用sep指定分割符,不然读出来的是原文件的样子,数据没被分割开

    import pandas as pd

    pd.read_csv('C:\Users\xiaoxiaodexiao\pythonlianxi\test0424\data.txt')

    L3Byb3h5L2h0dHBzL2ltYWdlczIwMTguY25ibG9ncy5jb20vYmxvZy8xMzY4MzM2LzIwMTgwNC8xMzY4MzM2LTIwMTgwNDI2MjI0MTQ0ODY4LTE3NjAxOTAxNDkucG5n.jpg

    #与上面的例子可以对比一下区别

    import pandas as pd

    pd.read_csv('C:\Users\xiaoxiaodexiao\pythonlianxi\test0424\data.txt',sep='|')

    L3Byb3h5L2h0dHBzL2ltYWdlczIwMTguY25ibG9ncy5jb20vYmxvZy8xMzY4MzM2LzIwMTgwNC8xMzY4MzM2LTIwMTgwNDI2MjI0NDEwNjc5LTUyMDkzNTc5MC5wbmc=.jpg

    #read_table读取文件时必须要用sep来指定分隔符,否则读出来的数据是原始文件,没有分割开。

    import pandas as pd

    pd.read_table('C:\Users\xiaoxiaodexiao\pythonlianxi\test0424\data.csv')

    L3Byb3h5L2h0dHBzL2ltYWdlczIwMTguY25ibG9ncy5jb20vYmxvZy8xMzY4MzM2LzIwMTgwNC8xMzY4MzM2LTIwMTgwNDI2MjI0NTAxMzQwLTUwNzMxMTI4Mi5wbmc=.jpg

    #read_table读取数据必须指定分隔符

    import pandas as pd

    pd.read_table('C:\Users\xiaoxiaodexiao\pythonlianxi\test0424\data.txt',sep='|')

    L3Byb3h5L2h0dHBzL2ltYWdlczIwMTguY25ibG9ncy5jb20vYmxvZy8xMzY4MzM2LzIwMTgwNC8xMzY4MzM2LTIwMTgwNDI2MjI0NjA1NjQ1LTEwNDY2MTY3NTcucG5n.jpg

    2.读取文本文件时不用header和names指定表头时,默认第一行为表头

    #用header=None表示数据集没有表头,会默认用阿拉伯数字填充表头和索引

    pd.read_table('C:\Users\xiaoxiaodexiao\pythonlianxi\test0424\data.txt',sep='|',header=None)

    L3Byb3h5L2h0dHBzL2ltYWdlczIwMTguY25ibG9ncy5jb20vYmxvZy8xMzY4MzM2LzIwMTgwNC8xMzY4MzM2LTIwMTgwNDI2MjI0NzU5OTA3LTE4NjY5MTU3NTUucG5n.jpg

    #用names可以自定义表头

    pd.read_table('C:\Users\xiaoxiaodexiao\pythonlianxi\test0424\data.txt',sep='|',

    names=['x1','x2','x3','x4','x5'])

    L3Byb3h5L2h0dHBzL2ltYWdlczIwMTguY25ibG9ncy5jb20vYmxvZy8xMzY4MzM2LzIwMTgwNC8xMzY4MzM2LTIwMTgwNDI2MjI0ODU4MjU0LTEwMTYyOTExODkucG5n.jpg

    3.默认用阿拉伯数字指定索引;用index_col指定某一列作为索引

    names=['x1','x2','x3','x4','x0']

    pd.read_table('C:\Users\xiaoxiaodexiao\pythonlianxi\test0424\data.txt',sep='|',

    names=names,index_col='x0')

    L3Byb3h5L2h0dHBzL2ltYWdlczIwMTguY25ibG9ncy5jb20vYmxvZy8xMzY4MzM2LzIwMTgwNC8xMzY4MzM2LTIwMTgwNDI2MjI1MDIyMzQ3LTI3MDc1NTYwNi5wbmc=.jpg

    4.以下示例是用skiprows将hello对应的行跳过后读取其他行数据,不管首行是否作为表头,都是将表头作为第0行开始数

    可以对比一下三个例子的区别进行理解

    pd.read_csv('C:\Users\xiaoxiaodexiao\pythonlianxi\test0424\data1.txt')

    L3Byb3h5L2h0dHBzL2ltYWdlczIwMTguY25ibG9ncy5jb20vYmxvZy8xMzY4MzM2LzIwMTgwNC8xMzY4MzM2LTIwMTgwNDI2MjI1MTI2MjczLTE5ODE0NDY0MjEucG5n.jpg

    names=['x1','x2','x3','x4','x0']

    pd.read_csv('C:\Users\xiaoxiaodexiao\pythonlianxi\test0424\data1.txt',names=names,

    skiprows=[0,3,6])

    L3Byb3h5L2h0dHBzL2ltYWdlczIwMTguY25ibG9ncy5jb20vYmxvZy8xMzY4MzM2LzIwMTgwNC8xMzY4MzM2LTIwMTgwNDI2MjI1MjA4NjUxLTk0MTcyNzg1NS5wbmc=.jpg

    pd.read_csv('C:\Users\xiaoxiaodexiao\pythonlianxi\test0424\data1.txt',

    skiprows=[0,3,6])

    L3Byb3h5L2h0dHBzL2ltYWdlczIwMTguY25ibG9ncy5jb20vYmxvZy8xMzY4MzM2LzIwMTgwNC8xMzY4MzM2LTIwMTgwNDI2MjI1MjU3ODEyLTE4NDE3MzM3MDYucG5n.jpg

    pd.read_csv('C:\Users\xiaoxiaodexiao\pythonlianxi\test0424\data1.txt',header=None,

    skiprows=[0,3,6])

    L3Byb3h5L2h0dHBzL2ltYWdlczIwMTguY25ibG9ncy5jb20vYmxvZy8xMzY4MzM2LzIwMTgwNC8xMzY4MzM2LTIwMTgwNDI2MjI1MzMwNDA1LTExMDM2MTM0NTEucG5n.jpg

    5.分块读取,data1.txt中总共8行数据,按照每块3行来分,会读3次,第一次3行,第二次3行,第三次1行数据进行读取。

    注意这里在分块的时候跟跳行读取不同的是,表头没作为第一行进行分块读取,可通过一下两个例子对比进行理解。

    chunker = pd.read_csv('C:\Users\xiaoxiaodexiao\pythonlianxi\test0424\data1.txt',chunksize=3)

    for m in chunker:

    print(len(m))

    print m

    L3Byb3h5L2h0dHBzL2ltYWdlczIwMTguY25ibG9ncy5jb20vYmxvZy8xMzY4MzM2LzIwMTgwNC8xMzY4MzM2LTIwMTgwNDI2MjI1NTAxODEzLTI2NjY0MDY5Ni5wbmc=.jpg

    chunker = pd.read_csv('C:\Users\xiaoxiaodexiao\pythonlianxi\test0424\data1.txt',header=None,

    chunksize=3)

    for m in chunker:

    print(len(m))

    print m

    L3Byb3h5L2h0dHBzL2ltYWdlczIwMTguY25ibG9ncy5jb20vYmxvZy8xMzY4MzM2LzIwMTgwNC8xMzY4MzM2LTIwMTgwNDI2MjI1NjA3MDM3LTE0NDg5OTA3OTgucG5n.jpg

    (二)将数据写入文本格式用to_csv

    以data.txt为例,注意写出文件时,将索引也写入了

    data=pd.read_table('C:\Users\xiaoxiaodexiao\pythonlianxi\test0424\data.txt',sep='|')

    print data

    L3Byb3h5L2h0dHBzL2ltYWdlczIwMTguY25ibG9ncy5jb20vYmxvZy8xMzY4MzM2LzIwMTgwNC8xMzY4MzM2LTIwMTgwNDI2MjI1NzE2ODY2LTEzMDM5ODQ2MzkucG5n.jpg

    #可以用index=False禁止索引的写入。

    data=pd.read_table('C:\Users\xiaoxiaodexiao\pythonlianxi\test0424\data.txt',sep='|')

    data.to_csv('C:\Users\xiaoxiaodexiao\pythonlianxi\test0424\outdata.txt',sep='!',index=False)

    L3Byb3h5L2h0dHBzL2ltYWdlczIwMTguY25ibG9ncy5jb20vYmxvZy8xMzY4MzM2LzIwMTgwNC8xMzY4MzM2LTIwMTgwNDI2MjI1ODE0ODk0LTkyNTgzMzczMi5wbmc=.jpg

    #可以用columns指定写入的列

    data=pd.read_table('C:\Users\xiaoxiaodexiao\pythonlianxi\test0424\data.txt',sep='|')

    data.to_csv('C:\Users\xiaoxiaodexiao\pythonlianxi\test0424\outdata2.txt',sep=',',index=False,

    columns=['a','c','d'])

    L3Byb3h5L2h0dHBzL2ltYWdlczIwMTguY25ibG9ncy5jb20vYmxvZy8xMzY4MzM2LzIwMTgwNC8xMzY4MzM2LTIwMTgwNDI2MjI1ODM4OTAwLTEzMjAwMjk4MTAucG5n.jpg

    Windows下Python读取GRIB数据

    之前写了一篇<基于Python的GRIB数据可视化>的文章,好多博友在评论里问我Windows系统下如何读取GRIB数据,在这里我做一下说明. 一.在Windows下Python为什么无法 ...

    Python读取JSON数据,并解决字符集不匹配问题

    今天来谈一谈Python解析JSON数据,并写入到本地文件的一个小例子. – 思路如下 从一个返回JSON天气数据的网站获取到目标JSON数据串 使用Python解析出需要的部分 写入到本地文件,供其 ...

    python 读取excel数据并将测试结果填入Excel

    python 读取excel数据并将测试结果填入Excel 读取一个Excel中的一条数据用例,请求接口,然后返回结果并反填到excel中.过程中会生成请求回来的文本,当然还会生成一个xml文件.具体 ...

    python读取文本文件

    1. 读取文本文件 代码: f = open('test.txt', 'r') print f.read() f.seek(0) print f.read(14) f.seek(0) print f. ...

    利用Python读取外部数据文件

    不论是数据分析,数据可视化,还是数据挖掘,一切的一切全都是以数据作为最基础的元素.利用Python进行数据分析,同样最重要的一步就是如何将数据导入到Python中,然后才可以实现后面的数据分析.数 ...

    Python读取文件数据

    1题目要求: 文本文件有这些数据,需要的只有其中的5个属性,如下颜色标记 像以下的数据达到75万组: 1product/productId: B0000UIXZ4 2product/title: Ti ...

    Python读取Excel数据并根据列名取值

    一直想将自己接触到的东西梳理一遍,可就是迈不出第一步,希望从这篇总结开始不要再做行动的矮人了. 最近测试过程中需要用到python读取excel用例数据,于是去了解和学习了下xlrd库,这里只记录使用 ...

    python——读取MATLAB数据文件 &ast;&period;mat

    鉴于以后的目标主要是利用现有的Matlab数据(.mat或者.txt),主要考虑python导入Matlab数据的问题.以下代码可以解决python读取.mat文件的问题.主要使用sicpy.io即可 ...

    python 读取二进制数据到可变缓冲区中

    想直接读取二进制数据到一个可变缓冲区中,而不需要做任何的中间复制操作.或者你想原地修改数据并将它写回到一个文件中去. 为了读取数据到一个可变数组中,使用文件对象的readinto() 方法.比如 im ...

    随机推荐

    为什么使用Binder而不是其他IPC机制

    本文搬运自:Advantages of using Binder for IPC in Android 使用Binder而不是其他(Semaphores , Message Queue, PIPES) ...

    NOIP 2013 货车运输 最大生成树加DFS巧妙AC

    #include #include #include #include #include

    【Cocos2d-Js基础教学(3)各种基类的定义和使用】

    在游戏开发过程中我们会遇到很多继承关系的处理,特别是层级之间的关系处理. 可能有的同学也做过类似的处理,比如: 游戏的显示层分级为: 底层Scene ,界面层Layer,页面层Page,弹框层Tip等 ...

    HDOJ&lpar;HDU&rpar; 2093 考试排名&lpar;Arrays&period;sort排序、类的应用&rpar;

    Problem Description C++编程考试使用的实时提交系统,具有即时获得成绩排名的特点.它的功能是怎么实现的呢? 我们做好了题目的解答,提交之后,要么"AC",要么错 ...

    How to solve java&period;net&period;SocketTimeoutException&colon;60000millis problem in HDFS

    Many HDFS users encounter the following error when DFSClient ready file from a certain Data Node.  & ...

    AVAudioPlayer与MPMusicPlayerController的区别

    播放在App中的音频时,使用AVAudioPlayer 播放音乐库中的文件时,使用MPMusicPlayerController

    【教程】CRX格式插件不能离线安装?本地扩展CRX无法安装怎么办?

    http://www.cnplugins.com/zhuanti/how-to-make-crx-install.html

    C&num; 枚举用法

    public static class EnumExtensions { public static string GetDescription(this Enum value) { return v ...

    『编程题全队』alpha阶段项目复审

    小组的名字和链接 优点 缺点,bug 报告 最终名次 Gakki赛高 (1)支持注册账号和账号管理(2) 支持自动登录,提供便捷性(3)题目不重复且题目答案准确(4)支持排行榜统计功能(5)自己设计算 ...

    展开全文
  • 游戏实现具体功能 原有的用户登录的信息均能保存在txt文件里,注册的信息也能保存在txt里面 格式如下: 便于之后转换成列表字典形式添加注册数据 用户的猜拳记录也能保存在txt中并以如下格式显示 格式如下: 具体...

    游戏实现具体功能

    原有的用户登录的信息均能保存在txt文件里,注册的信息也能保存在txt里面
    格式如下:
    在这里插入图片描述
    便于之后转换成列表字典形式添加注册数据

    用户的猜拳记录也能保存在txt中并以如下格式显示
    格式如下:在这里插入图片描述
    具体Python代码:

    #-*- coding=utf8 -*-
    # @author:sololi
    # date: 2020/10/24
    # 文件说明 :
    # 123文件存放 用户信息 456 文件存放猜拳结果
    import sys
    fff= open('123',"r+",encoding="utf8")
    shuju=[]
    a=[]
    b=[]
    c=[]
    aa={}
    username=0
    for line in fff.readlines():
        line=line.strip('\n')
        a= line.split(' ')
        i=0
        while i<len(a):
            b=a[i].split(',')
            i+=1
    
        j=0
        while j<len(b):
            if b==" ":
                break
            c=b[j].split(':',1)
            aa[c[0]]=c[1]
            i+=1
            j+=1
        shuju.append(aa.copy()) #将数据 转换成列表字典形式便于后面登录与注册存放数据(copy是为了防止添加是数据类型不同出错)
    fff.close()
    
    print("#######################")
    print("欢迎进入猜拳游戏")
    print("#######################")
    denglu=input("登录输入1,注册输入2") #登录程序
    if denglu=="1" :
    
        while True:
                
                username = input("请输入用户名")
                jg1= 0
                i = 0
                while(i<len(shuju)):
                    if (username == shuju[i]["用户名"]):
                        print("用户名正确")
                        jg1=1
                        break
                    i+=1
                if(jg1!=1):
                    print("用户名错误")
    
    
                elif (jg1 == 1):
                    break
    
        while True:
                
                password = input("请输入密码")
                jg2=0
                i = 0
                while(i<len(shuju)):
                    if (password == shuju[i]["密码"]):
                        print("密码正确")
                        jg2=1
                        break
                    i+=1
                if(jg2!=1):
                    print("密码错误")
    
                elif(jg2==1):
                    break
    
    elif denglu=="2" :
        while True:
    
            username = input("请输入注册的用户名")
            jg3 = 0
            i = 0
            while (i < len(shuju)):
                if (username == shuju[i]["用户名"]):
                    print("用户名已经存在")
                    jg3 = 1
                    break
                i += 1
            if(jg3 == 0):
                password = input("请输入注册的密码")
                print("注册成功")
    
                print("登录成功")
    
                fff = open("123", mode='a+', encoding="utf8")
                fff.seek(2)
                fff.write("用户名:{},密码:{}\n".format(username, password))
                fff.close()
                break
    else:
        print("输入有误,结束登录")
        sys.exit(0)
    
    
    while True: #猜拳游戏程序
        
        xuanzhe = (input("进行游戏1\n显示信息2\n退出游戏3"))
        if xuanzhe=="1":
            z=0.0
            c=0.0
            import random
            while True:
    
                    guess=random.randint(1,3)
                    num=int(input("选择石头(1)/剪刀(2)/布(3)"))
                    if (num==1 and guess==2) or (num==2 and guess==3) or (num==3 and guess==1):
                            print("胜")
                            c=c+1
                    elif num ==guess:
                            print("平")
                    elif(num==1 and guess==3) or (num==2 and guess==1) or (num==3 and guess==2):
                            print("负")
                    else:
                        print("输入有误")
                        continue
                    jieguo=input("是否继续游戏,输入任意退出游戏")
                    z = z + 1
                    if jieguo=="是":
                            continue
                    else: break
            kd=((c/z))
            print('总数{:.0f}' '胜率:{:.2%}'.format(z,kd))
            f=open("456",mode='a+',encoding="utf8")
            f.write("用户名:{},总数:{:.0f},胜率:{:.2%}\n".format(username,z, kd))
            f.close()
    
        elif xuanzhe=="2":
            f = open("456","r+",encoding="utf8")
            res = f.read()
            print(res)
            f.close()
        elif xuanzhe=="3":
            break
        else:
            print("输入有误请重新输入")
    
    print("欢迎再次使用猜拳游戏")

    初学者作品,有错大神请指正

    展开全文
  • 任务目标 本次实验是根据淘宝搜索的商品标题来寻找类似的商品标题: 给定一个标题:Apple iPhone 8 (A1863) 64GB 深空灰色 ...代码解释 import jieba import pickle import numpy as np import pandas as pd from...

    任务目标

    本次实验是根据淘宝搜索的商品标题来寻找类似的商品标题:
    给定一个标题:Apple iPhone 8 (A1863) 64GB 深空灰色 移动联通电信4G手机
    找出与其类似的前十个标题
    在这里插入图片描述
    后面是相似度,越接近1越相似,相似度采用余弦相似性

    代码解释

    import jieba
    import pickle
    import numpy as np
    import pandas as pd
    from gensim import corpora
    from gensim import models
    
    jieba.load_userdict('userdict.txt') # 载入自定义词典
    filepath = r'stopwords.txt' # 载入停用词
    stopwords = [line.strip() for line in open(filepath, 'r', encoding='utf-8').readlines()] # 提取停用词
    
    # 导入已经算好的idf文档和词袋模型中的词典,数据如图
    with open('data.pk', 'rb') as f:
        all_dick, idf_dict = pickle.load(f)
    

    在这里插入图片描述
    在这里插入图片描述
    ps:这个idf值可以根据自己的需求算,也可以使用jieba分词中自带的。具体怎么算可以看我另一篇博客:基于jieba分词的TF-IDF提取关键词算法中自定义所使用逆向文件频率(IDF)的文本语料库

    # 按行读取文件
    def read_file(file_path):
        with open(file_path, 'r', encoding='utf-8-sig') as f:
            fina_outlist = [line.strip() for line in f.readlines()]
        return fina_outlist
    # 按每行读取,每一行按空格切分为一个list,组成2维列表。
    def read_file2matrix(file_path): # 这里读取的是刚才载入的idf_dict对导入数据集中每一条数据都计算出它们的tf-idf值,返回列表形式
        fina_outlist = []
        with open(file_path, 'r', encoding='utf-8-sig') as f:
            for line in f.readlines():
                outlist = [float(i) for i in line.strip().split(' ') if i != ' ']
                fina_outlist.append(outlist)
        return fina_outlist
    # 使用jieba的搜索引擎模式分词
    def split_words(words):
        word_list = jieba.cut_for_search(words.lower().strip(),HMM=True) # 转小写,去空格,加新词发现
        word_list = [i for i in word_list if i not in stopwords and i!=' ']  # 去停用词
        return word_list
    # 统计词频(每个词在该文档中出现的频率,也就是tf值,为后面计算tf_idf做准备),并返回字典
    def make_word_freq(word_list):
        freword = {}
        for i in word_list:
            if str(i) in freword:
                freword[str(i)] += 1
            else:
                freword[str(i)] = 1
        return freword
    # 计算tfidf,组成tfidf矩阵
    def make_tfidf(word_list,all_dick,idf_dict):
        length = len(word_list) # 词袋模型的长度
        word_list = [word for word in word_list if word in all_dick]
        word_freq = make_word_freq(word_list)
        w_dic = np.zeros(len(all_dick)) # 先建立长度为词袋模型中总单词量的0矩阵
        for word in word_list: # 将tf_idf替换掉相应位置的0
            ind = all_dick[word]
            idf = idf_dict[word]
            w_dic[ind] = float(word_freq[word]/length)*float(idf)
        return w_dic
    # 基于numpy的余弦相似性计算
    def Cos_Distance(vector1, vector2):
        vec1 = np.array(vector1)
        vec2 = np.array(vector2)
        return float(np.sum(vec1 * vec2)) / (np.linalg.norm(vec1) * np.linalg.norm(vec2)) # 余弦相似度的计算公式,不会的百度
    # 计算相似度
    def similarity_words(vec, vecs_list):
        Similarity_list = []
        for vec_i in vecs_list: # vecs_list是所有标题的tf-idf值,用来和要搜索的标题做比较,看相似
            Similarity = Cos_Distance(vec, vec_i)
            Similarity_list.append(Similarity)
        return Similarity_list
        
    def main(words, file_path, readed_path):
        words_list = read_file(file_path)
        vecs_list = read_file2matrix(readed_path)
        word_list = split_words(words)
        vec = make_tfidf(word_list,all_dick,idf_dict)
        similarity_lists = similarity_words(vec, vecs_list)
        sorted_res = sorted(enumerate(similarity_lists), key=lambda x: x[1]) # 按相似度排序
        outputs = [[words_list[i[0]],i[1]] for i in sorted_res[-10:]] # 取前十个相似的
        return outputs
    
    #测试
    # words = '小米8 全面屏游戏智能手机 6GB+128GB 黑色 全网通4G 双卡双待  拍照手机'
    # words = '荣耀 畅玩7X 4GB+32GB 全网通4G全面屏手机 标配版 铂光金'
    words = 'Apple iPhone 8 Plus (A1864) 64GB 深空灰色 移动联通电信4G手机'
    # words = '小米8'
    # words = "黑色手机"
    # words = 'Apple iPhone 8'
    # words = '索尼 sony'
    file_path = r'MobilePhoneTitle.txt'
    readed_path = r"MobilePhoneTitle_tfidf.txt"
    outputs = main(words, file_path, readed_path)
    # print(outputs)
    for i in outputs[::-1]:
        print(i[0] + '     ' + str(i[1]))
        
    

    输出结果

    在这里插入图片描述
    里面所使用的文件 看评论
    提取码:dw9s,失效的话可以留言邮箱,看到会发给你,这个很简单的教程仅做参考,权当入门,大神勿喷,相应可以用word2vec等其他方法慢慢改进,自己看着发挥

    展开全文
  • 迷宫游戏c语言代码

    千次阅读 多人点赞 2018-12-09 12:13:18
    (建议不要直接复制!!!! 最好自己打出来,文本...代码中有几个地方的引用音效文件的地址可能需要自己修改一下,颜色变换等我就不多赘述了,很简单的程序,下面是代码: #include &lt;stdio.h&gt; #in...
  • 扫雷游戏代码+代码分析

    千次阅读 2021-01-25 18:00:03
    要用代码实现一个扫雷游戏也需要写两百多行代码,也是一个不小的工程量了,所以为了逻辑更加清晰明了,我们还是和写三子棋游戏一样创建3个文件来写代码。 1个头文件(game.h),2个.c文件(game.c和test.c)。 game.h...
  • c#写的五子棋程序 c#游戏代码 文本文件浏览
  • 新建文本文档.txt

    2020-02-06 21:21:14
    python小游戏,两个小球对撞游戏,一个可用键盘操作,一个可用鼠标操作,wasd还可以加速小球增加游戏难度,同时设置退出,重新开始,计算坚持时间的得分规则
  • 你还不知道可以用中文编写脚本制作游戏?那还不赶紧点进来看看~
  • 游戏代码

    2018-06-03 20:28:12
    简单的小游戏代码,适合初学者,傻大姐订单上保持内心
  • C++扫雷小游戏的实现,内含源代码和exe文件,有简单、中等、困难三种难度选择,包含开始界面和结束计算界面
  • 游戏采用了现代移动农业游戏的基本思想,并将其放入了老式的基于文本游戏中。 该项目是开源的,因此可以随意复制副本并编辑代码并进行试用。 入门 这些说明将为您提供在本地计算机上运行并运行的项目的副本,...
  • 一款适合手机端玩的HTML5口红见缝插针小游戏代码,玩法很简单:把口红一根根插到西瓜等水果上面,注意别碰到已经插在上面的口红。
  • java五子棋游戏代码

    2007-12-25 15:21:46
    java五子棋游戏代码
  • 飞机大战的游戏代码游戏有菜单和背景音乐,游戏模式分为两种,无尽模式和闯关模式,游戏内有增强道具可以捡得,游戏用鼠标进行控制,键盘控制菜单可以暂停和退出游戏,是本人的课设作品,游戏的图片需要自己装入...
  • 原理:将文本写到文件,用Java的类加载动态运行。 1.使用jdk自带rt.jar中的javax.tools包提供的编译器(也可以用runtime运行cmd)进行编译java源文件。 2.重写类加载器达到加载指定文件夹下的类。 import javax....
  • java常见的有用代码,包括文件处理、读某路径下所有文件名、大文本转小文本、删除重复字符、小文件融合成大文件、按词频排序、五子棋游戏等等
  • python入门与实践外星人游戏完整代码免费版(带图片文件) 加QQ524267192(心碎谁来抚)获取 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑...
  • 这篇文章的代码实现还是比较简单的。但是存在两个问题:一是训练集。这个训练集是直接从这个包中直接加载并训练的,对于实际的应用来说做文本的类的人士需要将自己的训练集和测试集替换掉它。二是自动分类的预处理...
  • 该文件夹应包含一个名为conf.txt的文本文件,该文件包含键值对,如下所示: width = <视频宽度> height = <视频高度> fps = <每秒帧数> 视频序列的文件夹结构示例应如下所示: ga1 \ QP \ 临时\ raw_1280_...
  • 这是为了创建一个基于文本的冒险/角色扮演游戏,名为“ Adventure Colussus”,我已经为该游戏奠定了一些基础,但仍有许多工作要做。 我期待为敌人和您扮演的角色添加类,包括使用JSON保存角色。 我还想做的是尽量...
  • 自然语言处理实战:新闻文本分类(附代码

    千次阅读 多人点赞 2020-08-13 18:06:15
    自然语言处理实战:新闻文本分类 ——本文比赛来源于天池零基础入门NLP - 新闻文本分类。 目录自然语言处理实战:新闻文本分类一、赛题理解1、学习目标2、赛题数据3、数据标签4、评测指标5、数据读取6、解题思路二...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 77,448
精华内容 30,979
关键字:

文本文档代码游戏