从零开始的Python ACM Ch.2:时间复杂度、栈、面向对象及链表
列表与字典的时间复杂度列表的ls.append()复杂度是O(n),字典的插入dt['key'] = value的复杂度是O(1)。Python自带的字典排序ls.sort()复杂度是O(nlogn)(这个排序算法是用C语言写的,基本上自己在Python里面写的排序算法都没有它快
栈(Stack)基本操作:
压栈 stack.append(element)
出栈 del stack[-1]
判断是否为空 len(stack) == 0
面向对象的Python编程以栈对象为例
123456789101112class Stack: def __init__(self, x, y): # 构造类里面的函数,在每次实例化的同时会自动调用__init__函数 self.x = x self.y = y self.summary = x + ys = Stack(3, 4) # 得到一个Stack类型的实例(实例化)print(s.x, s.y, s.summary)'''=== Ou ...
从零开始的Python ACM Ch.1:数据类型及基本数据处理
基本数据类型可迭代数据类型通用操作:
遍历
max
min
sum
len
成员测试 in、not in
序列数据类型通用操作:
索引
切片
index
count
同类型加法拼接
整数乘法重复
字符串不可变数据类型(对字符串的所有修改操作,都是返回一个新的字符串)
特有操作:
s.upper()
s.lower()
s.replace(sub1, sub2)
s.join(Iterable[str])
s.format()
s.split(c)
元组不可变数据类型,基本是拿来用索引,或者切片
列表可变数据类型
特有操作:
通过索引进行修改
通过切片进行修改
ls.append(x)
del ls[i] i为元素索引
ls.remove(x) x为元素值
ls.extend(lt2)
ls.insert(i, x)
ls.reverse()
ls.clear()
列表表达式
集合 & 字典集合中的元素、字典的键 都必须为不可变数据类型,不能重复
如果直接对字典进行for循环的遍历,那么出来的是字典的 ...
使用Python和Qt5来制作带有GUI的程序(持续更新)
我还是向我不熟悉的领域发起了挑战——制作GUI
印象中我做GUI只有在MIT App Inventor (gzjkw.net)和Visual Basics里面做过(下图为以前拿去参赛的作品,获得了省三),而且VB很久都没用过了
这回主要是创新项目的需要,要做一个带有GUI的附属程序,所以我研究起了怎么做GUI
我用的是比较知名的Qt5这个东西(本来还尝试过dearpygui Tkinker pygame之类的,但是因为感觉太繁琐了就不用了)
Raspberry 4B 折腾记录(持续更新)
烧录系统我用的是balenaEtcher这个软件(别问为什么,问就是好看),比起Win32DiskImager和Rufus来说更好用一点(个人感觉)
(↓没插读卡器所以用磁盘代替一下,千万别写入磁盘!)
对ext4格式的存储介质进行写入我用的是DiskGenius,但是不知道为什么在我的电脑上打开会提示这个……
Err: NTLEAS may be lost connection with hook process.
我这个用的是5.1.1的中文专业版(免费版不能对ext4格式进行写入),因为打不开所以我去换了个版本。
从网上下了个5.2.0.884就好了,就,很奇怪,估计是这个版本的问题。
重装Kali Linux后在无屏幕的条件下自动连接WIFI(未解决)这个我在网上找了很多方法,但是我发现很多他们都是用的树莓派自己的Debian衍生系统,用的不是Kali,这个方法用在Kali上等于无效……
直到我发现了这几个
树莓派 kali Linux 开机自动连接WiFi (bash 脚本)_yayaleII的博客-CSDN博客_kali自动连接wifi
kali(64位)在树莓派4B的 ...
2022网鼎杯青龙组——个人WriteUP
签到没啥技术含量,求助于万能的 百度 Bing
crypto091小A鼓起勇气向女神索要电话号码,但女神一定要考考他。女神说她最近刚看了一篇发表于安全顶会USENIX Security 2021的论文,论文发现苹果AirDrop隔空投送功能的漏洞,该漏洞可以向陌生人泄露AirDrop发起者或接收者的电话号码和电子邮箱。小A经过一番努力,获得了女神手机在AirDrop时传输的手机号哈希值,但再往下就不会了,你能继续帮助他吗?小A只记得女神手机号是170号段首批放号的联通号码。
Hash:c22a563acc2a587afbfaaaa6d67bc6e628872b00bd7e998873881f7c6fdc62fc
flag格式:flag{13位电话号码(纯数字,含国家代码)}
170号段首批放号的联通号码:1709
限定做法:Hash爆破
Hash为64位,因此Hash的计算方法是sha256
123456789101112import hashlibprefix = '861709' # 联通首批放号的电话号码头compare_hash = ...
Ticwatch Pro 3 使用体验报告
最近因为游泳,带着我的小米手环6,结果第二天游泳下来发现,它的屏幕不好使了,有鬼触的现象,于是就想换一块表
因为身边用OPPO Watch 2的人比较多,我又不想跟他们用一样的东西,于是我另辟蹊径,找其他的表
一开始看到米表,但是据说配置拉胯,就不考虑了,然后看到了出门问问家的Ticwatch pro 3,这是一个搭载着Google WearOS的智能手表,不过当然有着中国化的成分(指删除大量谷歌服务)
跟鱼子市场的卖家进行大量沟通后,我以合适的价格拿下了这块表
接着就开始折腾了,拿到手是一块啥东西都没设置的新表,会进入“新手引导”模式,我也是花费了一定的时间才弄好
折腾环节
按下右上方的按键就可以打开启动器,从启动器打开软件
从应用商店安装软件官方的应用商店就跟App Store一样,一键下载安装就行,其实没啥难度,这里就附几张图吧
使用adb安装软件使用计算机从adb安装软件这个要求打开adb,跟手机的开启方法一样,连续点击版本号开启开发者选项,然后在开发者选项里面找到adb调试,把它和通过WLAN调试都打开
让手表和电脑连到同一个WIFI,查看手表的IP地址,接着电 ...
日常吐槽10:我的域名被停止解析了 —— 一段时间
这件事还得从群里的兄弟那里说起(右图)
主要是我这边没办法用个人身份备案,然后有些东西没有备案就很恼人,尤其是最近收到的Leancloud国际版不对大陆用户提供服务的通知
这就搞得没备案会让我陷入被动(特别是在某些服务上面),那没办法啦,既然有能够弄企备的方法,那就去弄一个吧
然后我就找上门了,就像下面这样
然后我就开始等待了,按照对面的说法我前面还有一个人,然后备案要等14-30天
结果某一天,别人告诉我服务炸了
然后我就去排查,看我的腾讯云上TS正在正常运行,但是就是连不到
与此同时,我的MC服务器也连接不到了,但是BungeeCord还在正常运行
我就猜是不是域名解析掉了,我就去问备案那边,他说确实是
那有啥办法嘛,只能等了呗
我就把我的必要服务开了第二个域名,例如我的BLOG开在了https://blog.ninym.top上面,前几天做的hexo域名检测工具开在了https://linkcheck.ninym.top
然后把部分Github仓库涉及到文档在我的网站上的加一条备用文档链接,然后陷入无尽的等待……
Vercel搭建反向代理
首先你需要安装一下vercel的命令行工具,使用npm进行安装(需要安装nodejs,没安装的自己去下一个)
1npm i -g vercel
当然你也可以用cnpm安装
1cnpm i -g vercel
安装完后可以使用vercel -v来看看是否安装成功了
123vercel -v>> Vercel CLI 24.2.4>> 24.2.4
接着把下面这些内容复制到一个json文件里面
123456{ "version": 2, "routes": [ {"src": "/(.*)","dest": "https://bili33.top/$1"} ]}
其中,我的域名那里可以改成你想要反代的网站的域名,例如填写cdn.jsdelivr.net,就可以按照jsdelivr的格式去使用它的CDN,例如
12345678910{ "versio ...
CSGO国服反和谐教程
其实这个东西非常简单,稍微翻一下文件就可以发现完美的操作了
先打开Steam,右键CSGO,选择属性,在左边的本地文件里面选择浏览
这会打开你的CSGO游戏文件夹,打开csgo文件夹,稍微翻一下就可以发现开头为pakxv的几个文件,有很明显的audiochinese perfectworld lowviolence字样,把它们删了就好了
注:每次CSGO更新都要进行这个操作!
SteamAutoQueue —— Steam自动探索3次队列,帮你拿到促销期间的卡牌!
其实这个我从夏促前就开始写了,只不过刚好那一周撞上各种考试,所以就保证了本地Windows版本的正常运行,Linux的就没动,等到周末再干的时候夏促已经开始了……
为啥我要做这个?主要是学生党又不是天天开电脑,像TemperMonkey的那种自动探索队列的脚本或者是Steam++里面带的那个,都要打开电脑,再去打开浏览器或者是Steam,所以我就做了一个这个不需要打开任何东西的。
因为完成太晚了,所以等到冬促的时候我再去推广吧,要是有哪位大哥愿意帮我推广的尽管发就行了,发完了站内艾特一下我~
先点个STAR✨,我们马上开始教学!
简体中文
变量获取
在Github Action运行
变量获取先打开Steam商店,正常登陆,然后按下F12打开开发者工具,在选项卡里面找到网络(Network),刷新一下,在左侧找到store.steampowered.com,点击一下,然后在右侧下拉找到Cookie,把里面的东西复制出来
如果你选择用Action运行,,那么把Cookie复制下来后直接进入[Action环节](#在Github Action运行)
如果你选择服务器运行,那么你需要运 ...