- 博客(37)
- 资源 (2)
- 收藏
- 关注
原创 Python约瑟夫环
Python 版的约瑟夫环# 约瑟夫环def move(man, order): for i in range (order): item = man.pop(0) man.append(item)def yuesefu(man,order,survive): # man 参与总人数, order数几次 survive list=[i for i in range(1,man+1)] while len(list)>survive
2020-09-18 21:04:14
253
原创 8月随笔[Python-一些好用的插件分享]
插件分享插件描述kite一款代码补全插件,自动在各编程软件中嵌入并且在代码时有其图标显示,联想速度很快四款在Pycharm中好用的插件分别是:Rainbow Brackets:让你的括号变成彩虹色,易于分辨Code Glance:用过VSCODE的朋友相必对右上方的代码全览熟悉无比,这个插件便可以提供这样的显示Background Image Plus+:支持背景图片的轮播,在plus+版本中可以设置轮播的时间间隔,最小单位为秒Material Theme UI:
2020-08-06 17:00:34
389
原创 8月随笔[Python-jieba库的使用]
jieba库的使用jieba库是一个优秀的中文分词第三方库,可以使用pip install下载jieba分词模式精确模式:把文本精确的切分开,不存在冗余单词全模式:把文本中所有可能的词语都扫描出来,有冗余搜索引擎模式:在精确模式的基础上,对长词再次切分jieba 常用函数函数描述jieba.lcut(s)精确模式,返回一个列表类型的分词结果jieba.lcut(s,cut_all=True)全模式jieba.lcut_for_search(s)搜索引擎
2020-08-06 16:39:06
209
原创 Lab4漫谈-Logger-log4j
关于Log4j的使用网上的使用教程大多不靠谱(除了关于配置文件的一些说明)需要用的jar包应该就是这些了,主要是上面3个,下面的两个是最新版本的。先说一下这个工具的使用吧,相对于自带的Logger,它的繁琐在于配置文件的编写。之前从来没写过,看网上一大堆论述,实际上提炼出来就是这个还分种类,比如web的比如java应用的(本程序中使用的),然后IDEA新建配置文件的方法就是这样了:log4j.rootLogger=debug,stdout,logfilelog4j.appender.stdo
2020-06-07 16:51:23
351
原创 Lab3漫谈(3)-面向对象编程重要原则汇总
关于Lab3内容涉及到的几个原则汇总今晚算是有时间来更新博客了,一方面是对Lab3中涉及到的一些知识点重新归纳,对Lab3有个交代,毕竟肝了一周才完成。另一方面考试也临近了,一点点开始复习吧。单一功能原则:在面向对象编程领域中,单一功能原则(Single responsibility principle)规定每个类都应该有一个单一的功能,并且该功能应该由这个类完全封装起来。所有它的(这个类的)服务都应该严密的和该功能平行(功能平行,意味着没有依赖)。保持一个类专注于单一功能点上的一个重要的原因
2020-05-21 21:46:35
199
原创 Lab3漫谈(2)-工厂方法
简介定义:“工厂方法模式,又称工厂模式、多态工厂模式和虚拟构造器模式,通过定义工厂父类负责定义创建对象的公共接口,而子类则负责生成具体的对象。”作用:将类的实例化(具体产品的创建)延迟到工厂类的子类(具体工厂)中完成,即由子类来决定应该实例化(创建)哪一个类。优点:更符合开闭原则:新增产品的时候,只要增加相应的具体产品类和相应工厂类符合单一职责原则:一个具体工厂只创建一个对应产品缺点增加新产品将额外产生更多的工厂类和产品类,这种增长与后续更新的产品种类的数目正相关。而类数目的增
2020-05-21 21:07:00
231
原创 Lab3漫谈(1)-状态模式
前言Lab3中需要使用状态模式来控制一个计划项的运行状态,并且在五个应用中总共有两类状态转换图(状态机)。因为有一些状态是重叠的,因此可以将他们共享,二选一,我采用布尔变量控制,但是状态模式的基本“套路”还是没有变的。模式结构状态模式包含以下主要角色。环境(Context)角色:也称为上下文,它定义了客户感兴趣的接口,维护一个当前状态,并将与状态相关的操作委托给当前状态对象来处理。抽象状态(State)角色:定义一个接口,用以封装环境对象中的特定状态所对应的行为。具体状态(Concrete
2020-05-15 15:12:30
116
原创 Java Lambda表达式应用:拉格朗日插值
前两天学习了Lambda表达式的一些基本用法,起因是为了编写计算方法课程实验中的拉格朗日插值程序,我想要将一个函数直接作为参数,以编写更通用的程序。但是苦寻无果,没有找到在Java中适用的、与C中函数指针一类的东西,使用了Lambda表达式,达到了相同的效果。一些基本的概念,我在菜鸟驿站上获得了。下面是实际的一个程序,也就是拉格朗日插值法。import java.util.Scanner;public class Lagrange { public static void main(S
2020-05-14 18:47:18
412
原创 软件构造Lab2漫谈(2)
这部分,主要说一下P3的设计和测试。除了MyChessAndGoGame是主程序入口之外,其余均为辅助类。思路是自底向上的:首先游戏要有两个玩家,所以设计了Player类。这个也是最简单的,因为游戏的核心在于操作,而不是玩家本身的属性,当然如果你将操作作为玩家的方法,那另当别论。此外游戏肯定要有一个棋盘,所以设计一个board类,那么棋盘有哪些属性呢。这里我认为应该把棋子归到棋盘,而不...
2020-04-12 12:22:04
110
原创 软件构造Lab2漫谈(3)
Lab2的博客为什么放一天来写呢,其实大家都知道之前课程的进度和实验进度脱节。所以我的实验也是在最后一周再做的。这次说说P3吧,讨论一下围棋和象棋游戏中几个操作的关键逻辑。我看到有些大佬是写了GUI的,奈何小弟不才,只能写控制台了…给出我的程序流程图:接下来讨论一下象棋和围棋关于移动棋子的逻辑的相同和不同,这关系到你如何去写,因为相比其它的什么跳过操作,这部分是核心。1.移动棋子:象...
2020-04-08 17:38:28
232
原创 软件构造Lab2漫谈(1)
这次分为三部分。第一部分主要是考察对泛型编程的理解和应用。还有关于Set,Map,List等泛型数据的掌握情况。总结几个在实验中遇到的问题:1.如何删除List中的元素 List<Piece> all=this.board.Piece(); Iterator<Piece> iterator =all.iterator(); while(iterator....
2020-04-08 17:15:45
142
原创 GitHub远程仓库管理的常用命令
初始化操作就不提了。就软件构造实验的提交来说。一般需要会如下操作:1.创建仓库git remote add [仓库名称] url;2.删除不用的仓库git remote rm [仓库名称]3.添加本地文件git add [文件名]git add. 第二种是将当前目录下所有文件添加到暂存区。4.添加注释git commit -m "备注信息"5.push和pull...
2020-04-08 16:54:09
161
原创 软件构造Lab1-Social Net
继续接着之前的博客,来分享一下Lab1剩余的部分,也就是Social Net。这个可以说是最简单的了,我们要做的就是完成一个图的数据结构,并实现相应的方法即可。下面分享一下我的数据结构:按照实验已经给出的,我们要实现的java文件为FriendshipGraph.java那么主类就是FriendshipGraph,Person和Relation是辅助FriendshipGraph实现的两个...
2020-03-05 20:01:23
462
原创 软件构造Lab1-Part3总结
断断续续的写了几天,现在只剩下最后的Social Net没有写,暂且分享一下之前的几个部分吧。第三部分我们需要补充几个函数,实现它们的功能:主要围绕多边形展开,有很早就学过的多边形内角外角和相关的,还有一个凸包问题和个性绘图。转角的那个还是比较简单的,只需要考虑东西 和南北,然后具体划分到东北、东南这种相对关系,然后注意反三角函数得到的值的符号以及需要使用Math.toDegree()方法转...
2020-03-03 17:08:40
169
1
原创 软件构造Lab1-Part2总结
java的文件操作稍微熟悉了一点。直接进入正题。第二部分的核心是在讲java中的异常抛出机制,我们从程序异常运行(n为偶数和负数)抛出的信息来看,生成幻方的方法中肯定不支持这两种,至于为什么,需要分析该方法才能得知。首先,负数不支持很好理解:生成的二维数组变量不可能大小是负数。在这里就异常了,可以单步调试看一下。其次可以试着带入一个奇数观察这个方法的赋值过程,另外还需要了解一下魔方矩阵的一个重...
2020-02-27 23:42:54
186
原创 软件构造Lab1-Part1总结
首先分析一下,这题的要求就是判断输入的矩阵是不是一个幻方矩阵(记得MATLAB中的magic命令就可以生成)。那么检查条件从矩阵特点入手即可。要满足:1.矩阵为方阵2.每列求和,列列之间和相等。行同理,对角线求和也和列/行求和相等。思路:有五个文件需要读取,并且我们需要处理字符串,由于不同文件中的间隔符可能不一致,需要处理不同的情况,显然单纯的利用spilt方法是不行的。这里最合适的方法...
2020-02-27 21:33:33
236
原创 Dijkstra和Floyed算法的Matlab版本
G是图的邻接矩阵,startv是出发点,endv是目标点Dis输出两点间最短距离,不存在的时候是inffunction [Dis,path] = Dijkstra(G,startv,endv);%%用于求两点间最短路径% G是图的邻接矩阵,G(i,j)表示ij两点间距离(权值);% startv起点标号,endv终点标号%Dis最短路距离 ,path最短路径n=size(G,1);%%...
2020-02-26 20:00:34
275
原创 HIT春季软件构造之GitHub Classroom注册
过程如下,因为本人已经成功打入班级(雨课堂警告),所以部分过程以文字叙述.首先可能会出现访问不到Github网站的情况,可以自己检查一下能不能ping到:比如可能网页打不开github,而且ping显示丢包。此时到CSDN上找解决方法,我已经成功解决了,需要修改一下注册表。2.成功访问之后开始注册:在Get Started上方文本框中输入注册使用的邮箱,按照提示一步步注册。3.加入c...
2020-02-24 14:58:36
706
原创 HIT2020春季软件构造课程之注册Piazza
注册全流程如下(希望能有帮助)1.首先是输入www.pizza.com进入之后找到Sign Up进入注册页面2.找到哈尔滨工业大学,支持模糊搜索,输入harbin即可看到3.选择课程,课程码已经在老师的录播视频中给出,这里输入CS322074.这里输入注册邮箱,请使用常用的邮箱,之后可能有用5.然后填写账号信息,因为老师要求实名, 所以Full Name可以直接填写自己的中文名...
2020-02-24 14:45:56
1081
4
原创 MathType安装时遇到不能删除xx字体时的解决方法
解决方法:到安装MathType的文件夹中寻找Fonts文件夹,该文件夹下TrueType中可能包含错误提示的字体,将它拷贝到C://windows//Fonts中再点击确定看是否有错误提示,如果还有,请仔细看提示信息,说明你的电脑中还缺少另外的字体,按照上述方法再来就行。问题来了:如果妹有怎么办?直接在网上寻找该字体下载,安装之后,再点MathType错误提示,一直重复上述过程,直接下载和从...
2020-02-23 17:00:18
10136
3
原创 约瑟夫环问题:循环数组解法
数组元素个数等可以自行改为用户输入,而不是直接指定#include<iostream>using namespace std;int main(){ int a[]={1,2,3,4,5,6,7,8,9,10,11,12,13}; int max=13,m; scanf("%d",&m); int pre,now; now=0;...
2020-01-06 14:04:00
444
原创 程序人生-Hello’s P2P[HITICS-大作业]
计算机系统大作业题 目 程序人生-Hello’s P2P 专 业 计算机科学与技术学院学 号 1180301006班 级 1803010学 生 syx 指 导 教 师 史先俊计算机科学与技术学院2019年12月摘 要一个简单的hello程序,从其诞生到它程...
2019-12-20 08:39:14
375
原创 红黑树增删查改
记录探索红黑树的一天思路代码总结2019/12/18日19:31分终于调完了BUG,和参考的博客对比Debug的时侯,一块代码片一块代码片的对比,最终发现是左旋出问题鸟,好气啊,之前AVL树写过了,觉得左右璇不会错,结果…思路 这里不得不推荐一下wiki,无论中文还是英文关于红黑树的原理都讲得特别清晰,关键是有一部分伪代码可以参考。 [红黑树wiki](https://zh.wiki...
2019-12-18 19:47:34
404
原创 Dijkstra和Floyd求最短路径
记录一下这两个算法Dijkstra#include<stdlib.h>#include<stdio.h>#include<iostream>using namespace std;/*邻接矩阵法*/#define MAXV 50#define INF 32767typedef struct { int edges[MAXV][MAX...
2019-12-09 16:37:19
142
原创 BFS和顺序队列求最短路径
数据结构的课程开始也有一段时间了,第一次实验作业中,有这样一道题:大意是说给定两个数轴上的点M,N.限定M的移动方式有3种:①:左移一步:即Mnew=M-1;②:右移一步:即Mnew=M+1;③:右跳一步:即Mnew=M*2;问M最少移动几次可以到达N;初次看题我没想到用哪种数据结构,自己学得慢…与老师无瓜.因为之前用栈做了前缀表达式的题,还试了一个迷宫的题,发现它的结构很适合用回溯...
2019-11-03 11:28:51
487
原创 简单的中缀转前缀表达式并计算的程序
#include <stdio.h>#include <stdlib.h>#include<math.h>#define Max 100typedef char ElementType;typedef double ElementType1;//用于计算前缀表达式typedef struct stk{ ElementType data;...
2019-11-02 12:10:20
237
转载 struct tm 和 time_t 时间和日期的使用方法(转)
这里很全:不过原文地址找不到了https://www.cnblogs.com/hhpjxbk/archive/2009/10/06/1578385.html[]
2019-10-16 22:07:39
331
原创 Linux 系统管理 之 用户管理学习
文章目录用户管理:创建用户:删除用户创建用户组删除用户组用户权限的让渡用户管理:切换用户: su (根用户 选项 - )显示用户: id +用户名finger + 用户名创建用户:usermod 、 useradd选项 -G选项 -g :指定gid修改用户: usermod选项 -g选项-G删除用户userdel选项 : -l 一并删除其用户组(谨慎使用)创建用户组...
2019-09-08 17:26:27
94
原创 Linux系统管理学习之Vi编辑器学习
文章目录各种模式进入/退出命令编辑模式下的基本操作VI文件的保存、VI的退出多文件操作各种模式进入/退出命令通过终端 输入 vi 进入vi(vim)编辑器后1.进入编辑模式 : i 默认模式下输入i 可以进行文本编辑 退出按esc2:进入命令行模式: " : " 冒号 输入冒号会在左下角显示命令行,可以进行文件的保存,修改以及vi的退出等操作 对输入命令回车执行后自...
2019-09-07 15:28:26
119
原创 计算机系统学习笔记——gcc和gdb
文章目录Shell命令学习笔记之gccgcc的一些基本用法关于文件编译的基本过程gcc分步实现Shell命令学习笔记之gccgcc的一些基本用法gcc main.c 会默认生成一个a.out的可执行文件gcc main.c -o 会产生一个 hello 可执行文件gcc main.c -o xxx 会产生一个 xxx 可执行文件关于文件编译的基本过程gcc...
2019-09-07 09:54:48
234
原创 Linux 系统管理之基础操作
学习Linux命令行操作、自用linux命令、su 登陆命令sudo passwd 第一次设置根用户密码1.whoami 查看系统用户–help和–version2.echo + 字符串“ abc”输出换行后的abc选项 -n不换行选项 -e可以在字符串中加转义字符3.nano 输入nano进入nano界面nano + 文件名 =打开文件TAB键可以自动补全命令4.man...
2019-09-06 17:09:06
222
原创 ASP.Net实现学生信息管理系统前端WEB程序
实现效果展示登陆界面:注冊界面主界面 和 功能界面(這兩個其實完全可以合并,但前端第一次學,我不知道功能上應該和後臺的窗體程序有什麽區別,同時也想練練手,於是產生了兩個頁面).操作界面就做的比較樸素了,個人感覺這樣才有嚴肅的工作感。然後皮卡丘前面的歡迎來到Hape WEB其實也是自嘲,自我感覺還是比不上已經先走了好多年的那些同學,做得程序就像傻逼(四川話 hape)一樣。总...
2019-07-21 11:25:20
6272
21
转载 ASP.Net 使用验证控件后出现“WebForms UnobtrusiveValidationMode"错误解决方法
找到解决方案资源管理器,打开Web.config修改之前的代碼<?xml version="1.0" encoding="utf-8"?><!-- 有关如何配置 ASP.NET 应用程序的详细信息,请访问 https://go.microsoft.com/fwlink/?LinkId=169433--><configuration> ...
2019-07-16 17:43:22
1197
1
原创 ASP.Net 前臺登陸注冊和登陸人次的統計簡單實現
C#学习笔记(一):ASP.Net中基本对象和数据库操作通过学习ASP.Net实现前一篇文章中程序的“前台”对ASP.Net中几个基本对象使用的小结(即学即更)ASP.Net 几个基本对象学习笔记Response:在客户端发送的请求,服务端用一个响应对象来处理该请求,并将响应数据发送到客户端.结束之后销毁该对象;最常用的方法是重定向到一个urlResponse.Redirect(“...
2019-07-16 16:37:58
158
原创 C#Mysql学生信息管理系统
C#学生信息管理系统连接到Mysql数据库登錄界面重要的數據庫連接知識關於Mysql的安裝:环境变量的配置Mysql 启程!Funsql类总结登錄界面代码:`using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;...
2019-07-11 09:21:36
7409
10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人