- 博客(29)
- 收藏
- 关注
原创 python 插入排序算法实现
def insert_sort1(l): for i in range(1,len(l)): # print('i:',i) for j in range(0,i): if l[i]<l[j]: # print(i,l[i]) l.insert(j,l[i]) l.pop(i+1)def insert_sort2(arr): ".
2022-07-25 14:29:00 141
原创 撒豆法计算Π值with python
原理简介:前提公式:S圆=Π*r^2在一个边长为a的正方形内有一个内切圆,圆的面积为Π*(a/2)^2=Π*a^2/4,正方形面积为a^2,所以S圆/S正方形(记为x)=Π/4,所以Π=4*x。在一个正方形的区域内随机撒一定数量的黄豆,落在内切圆区域内的黄豆数量m可以看作内切圆的面积,而落在正方形内的黄豆数量n可以看作正方形的面积(即黄豆的总数量),所以Π=4*(m/n),现实生活中,正方形越大,撒豆数量越多,则计算出来的Π值越准确,反之越不准,而用编程语言则可以轻松解决这一弊端。import
2022-03-23 11:28:23 3145
原创 python 数据预处理-数据转换之数字化
分享一个用python对excel数据指定字段进行数字化的小代码原数据:处理后的数据:代码:import openpyxl#加载相应excel文件exl=openpyxl.load_workbook('D://hk//spark课设//cars_pre.xlsx')sheet=exl[exl.sheetnames[0]]sheet=exl.active#kinds为二维列表,存储需要打标签的字段各个标签对应值在excel表中的所有行索引,fun函数为执行单元格修改操.
2021-12-31 13:48:41 3153 12
原创 堆排序算法
堆排序算法理解:用列表表示堆积,父节点i,子节点2i+1、2i+2,第一步先从最后一个父节点开始遍历一遍,二叉树基本有序,此时根节点为最大值,最后一个子节点为最小值,交换根节点和最小子节点,交换过去的根节点(当时的最大值)不再参与遍历,之后再依次从根节点开始遍历找出最大值(根节点)和最小值(最后一个子节点),交换根节点和最小子节点,交换过去的根节点(当时的最大值)不再参与遍历,重复此步骤直到不再有可遍历的子节点。#置为大顶堆def max_heap(cards,start,end): d
2021-11-10 18:07:19 427
原创 哈希排序——降维打击法
import timeimport randomn=10000000def randNum(l,n): for i in range(n): l.append(random.randint(0,n))cards=[]randNum(cards,n)def hash_sort(cards): c=[] l=[0 for i in range(len(cards)+1)] for i in cards: l[i]+=1 .
2021-11-09 17:01:37 495
原创 卡牌排序的链表实现
import timeimport random#卡牌排序适用链表节点class Node: def __init__(self,x=None): self.val=x self.next_node=None#卡牌排序适用链表class LinkList: def __init__(self): self.head=None def list_print(self): node=self.head .
2021-11-09 11:59:17 382
原创 二进制数--递归算法实现
个人觉得蛮有创造性的一个算法,可实现二进制数的底层逻辑,相应的也可以实现其它进制数的底层逻辑def add(x): y=[] if x[-1]=='0': x[-1]='1' return x else: x[-1]='0' y.append(x[-1]) x.pop() if len(x)==0: return ['1']+y retur
2021-11-04 11:30:28 246 1
原创 中国象棋单机版2
在上一版的基础上增加了将军、被将、绝杀判断算法# -*- coding: utf-8 -*-# -*- coding: utf-8 -*-"""Created on Sun Jun 13 15:41:56 2021@author: Administrator"""import pygameimport sysfrom pygame.locals import *from collections import Counterfrom socket import *from ti
2021-09-06 14:43:35 503
原创 俄罗斯方块 with C++ and ege
#include<iostream>#include<graphics.h>#include<conio.h>#include<windows.h>#include<stdlib.h>#include<ctime>#pragma comment(lib,"Winmm.lib")#define wall_width 15#define rock_width 20#define under_width 23#defin.
2021-08-19 16:32:59 423
原创 python 中国象棋单机版with pygame
鼠标点击操作;两天制作,较为粗糙,很多效果还未实现。# -*- coding: utf-8 -*-"""Created on Sun Jun 13 15:41:56 2021@author: Administrator"""import pygamefrom pygame.locals import *import sysimport mathpygame.init()screen=pygame.display.set_mode((450,550))pygame.display
2021-06-15 23:18:45 954 5
原创 python pygame实现五子棋双人联机(简约版)
同一局域网内,服务端开启时,另一机器将IP地址HOST改为服务端对应的IP地址、端口号与服务端的保持一致即可实现双人联机。(IP地址查询方式:菜单栏输入cmd,cmd窗口输入ipconfig找到无线网络下的IPv4地址)服务端:# -*- coding: utf-8 -*-"""Created on Tue Jun 8 14:03:09 2021@author: Administrator"""import pygameimport sysfrom pygame.locals impo
2021-06-10 23:04:39 9735 27
原创 python 五子棋单机个人版-pygame
鼠标点击游戏界面即可# -*- coding: utf-8 -*-"""Created on Sat Jun 5 11:34:50 2021@author: Administrator"""import pygameimport sysfrom pygame.locals import *from collections import Counterscreen=pygame.display.set_mode((400,450))pygame.display.set_capti
2021-06-05 23:02:57 248 1
原创 python 推箱子小游戏-pygame
# -*- coding: utf-8 -*-"""Created on Mon May 31 22:51:46 2021@author: Administrator"""import pygame as pgfrom pygame.locals import *import sysimport timemmap=list()with open("F:/其它/level_file.txt",'r') as f: for line in f.readlines():
2021-06-03 22:31:51 3915 1
原创 python 贪吃蛇
# -*- coding: utf-8 -*-"""Created on Wed May 26 15:42:02 2021@author: Administrator"""import pygame,sysimport randomimport timefrom pygame.locals import *fps=5wall_length=500wall_width=400screen=pygame.display.set_mode((wall_length,wall_wid
2021-05-30 23:15:52 104
原创 python 最短路径走迷宫--pygame界面可视化
# -*- coding: UTF-8 -*-# animation.py # 导入需要的模块import pygame, sysfrom pygame.locals import * # 初始化pygamepygame.init() # 设置帧率(屏幕每秒刷新的次数)FPS = 5#import randompre_route=list() #宽度搜索得到的节点q=list() #队列结构控制循环次数xx=[0,1,0,-1] #右移、下移、左移、上移yy
2021-05-24 22:05:34 1067
原创 python 贪吃蛇--懒人舒适版
不会死亡,碰壁自动转弯,可随意转向# -*- coding: UTF-8 -*-# animation.py # 导入需要的模块import pygame, sysimport randomimport timefrom pygame.locals import * # 初始化pygamepygame.init() # 设置帧率(屏幕每秒刷新的次数)FPS = 10# 获得pygame的时钟fpsClock = pygame.time.Clock()# 设置窗口大小s
2021-05-24 22:00:31 93 7
原创 python自制扑克牌双人比大小游戏
游戏规则:玩家个数为2,将54张扑克牌随机均匀分成两份,两位玩家各执一份作为手牌,玩家洗牌后从上往下分别抽取手牌的顶层第一张进行比大小,谁的牌点数大谁将赢得场上的所有牌,若玩家出的牌点数一样,则继续出牌,直到分出结果或有一方手牌用完且没有存牌(玩家赢下每一轮牌后,将牌放到旁边,记为存牌),若有一方的手牌用完,则将存牌洗牌后作为新的手牌,直到有一方的手牌用完且没有存牌,游戏结束,赢下所有牌的玩家获得胜利。特别注意:该游戏来源于小时候的真实游戏,11、12、13、14、15分别代表扑克牌里的J、Q、K、小王、大
2021-05-16 19:39:48 2347 2
原创 python求迷宫最短路径
python求迷宫最短路径算法-bfs# -*- coding: utf-8 -*-"""Created on Tue Apr 27 13:48:14 2021@author: Administrator"""###无递归、类求迷宫最短路径算法#import randompre_route=list() #宽度搜索得到的节点q=list() #队列结构控制循环次数xx=[0,1,0,-1] #右移、下移、左移、上移yy=[1,0,-1,0]visited=list
2021-05-16 19:09:11 3714 1
原创 python生成数独地图
Python生成数独地图的一种简易方法python代码块python代码块# -*- coding: utf-8 -*-"""Created on Sat May 15 18:29:32 2021@author: Administrator"""import randommmap=[[0 for i in range(9)]for j in range(9)]#生成数独的一行,即9个值为1-9的数def randline(x): l=list(range(1,10))
2021-05-16 18:57:51 262
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人