创建一个新Module,在项目中导入该module,出现如下报错:
点击到上一层,出现关键错误提示信息:
即所引入的module的minSdkVersion版本为23,大于应用Module的21版本,故可将module的minSdkVersion对应调小到21即可。
其他参考:https://www.liangzl.com/get-article-detail-175677.html
前言: 本文为最最基础的python基础算法题目、思路和答案,适合python初学者使用,可以当作python入门算法工具书,虽然不具有高深的算法,但是都是企业级算法用的频率最多的,这也是学好高级算法的必经之路。希望收藏、关注、点赞哦。
文章目录
题目000:找出字符串s=”aaabbbccceeefff111144444″中,字符出现次数最多的字符
题目001:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
题目002:企业发放的奖金根据利润(I)的多少来提成:
题目003:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
题目004:输入某年某月某日,判断这一天是这一年的第几天?
题目005:输入三个整数x,y,z,请把这三个数由小到大输出。
题目006:斐波那契数列。
题目007:将一个列表的数据复制到另一个列表中。
题目008:题目:输出 9*9 乘法口诀表。
题目009:暂停一秒输出。
题目010:暂停一秒输出,并格式化当前时间。
题目011:古典问题:
题目012:判断101-200之间有多少个素数,并输出所有素数。
题目013:打印出所有的"水仙花数",
题目014:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
题目015:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
题目016:输出指定格式的日期。
题目017:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
题目018:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
题目019:一个数如果恰好等于它的因子之和,这个数就称为"完数"。
题目020:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
题目021:猴子吃桃问题
题目022:乒乓球问题
题目023:打印出如下图案(菱形)
题目024:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
题目025:求1+2!+3!+...+20!的和。
题目026:利用递归方法求5!。
题目027:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。
题目028:年龄问题
题目029:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
题目030:一个5位数,判断它是不是回文数。
题目031:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。
题目032:按相反的顺序输出列表的值。
题目033:按逗号分隔列表。
题目036:求100之内的素数。
题目037:对10个数进行排序。
题目038:求一个3*3矩阵主对角线元素之和。
题目039:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
题目041:模仿静态变量的用法。
题目042:学习使用auto定义变量的用法。
题目044:两个3*3的矩阵,实现其对应位置的数据相加,并返回一个新矩阵:
题目045:统计 1 到 100 之和。
题目046:求输入数字的平方,如果平方运算后小于 50 则退出。
题目047:两个变量值互换。
题目048:数字比较。
题目049:使用lambda来创建匿名函数。
题目050:输出一个随机数。
题目051:按位操作
题目054:取一个整数a从右端开始的4-7位。
题目060:计算字符串长度。 题目061:打印出杨辉三角形(要求打印出10行如下图)。
题目062:查找字符串。
题目066:输入3个数a,b,c,按大小顺序输出。
题目067:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
题目068:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数
题目069:有n个人围成一圈,顺序排号。
题目070:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。
题目071:编写input()和output()函数输入,输出5个学生的数据记录。
ES6部分 1.let const var 区别 1.let const 具有块级作用域,不存在变量提升2 const是常量,const 定义的基本数据不能改变,但是定义的对象可以通过对象的方法去添加删除.3.let 在统一作用域下面不能重复声明4.var 具有跨级作用域,具有变量声明的提升5.var可以在声明的上面访问变量,而let有暂存死区,在声明的上面访问变量会报错 2.使用箭头函数需要注意什么 1.箭头函数的this不是指向window,而是理他最近的父级作用域(指向是可变的)
3.怎么改变箭头函数中this的指向 call apply bind的区别
1.call apply接受参数的方式不一样,apply接收多个参数组成的数组,call接受的时候若干个参数的列表.
2.bind:不立即执行。而apply、call 立即执行。
bind方法是直接返回一个新的函数,需要手动去调用才能执行。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W7Jn5HYZ-1630144418153)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210823152034043.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BqHlWUzm-1630144418154)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210823152053208.png)]
4.模板字符串,模板对象 ${} ``
5.模块的导入导出 export const a
import {a} from “…/…/”
export default a
import a from “…/…/”
使用export 直接导出,导入的时候要加{} ,可以导出多个,导入多个
使用export default 导出,只能导出一个,导入是不需要{}
6.for…of for…in 两者之间的区别 for…in 可以遍历数组,对象.遍历数组的时候输出的是元素的索引,遍历对象的话输出的是对象的键名
for…of 不能遍历对象,会报错,遍历数组的时候输出的是数组的值
7.解构赋值 应用:实现两个变量的值的交换
let a = 1;let b = 2; [a,b] = [b,a]; 8.展开运算符 …
方法一:
#将科学计数法表示的数据转换为浮点数 qddf['业绩(拆分)']=['%.2f' % x for x in qddf['业绩(拆分)'].values] 方法二:
通过设置将Pandas DataFrame 取消科学计数法打印
pd.set_option('display.float_format',lambda x:'%.2f' % x)
#筛选出指定时间段的数据
cjdf.月份=pd.to_datetime(cjdf.月份)
cjdf=cjdf[(cjdf.月份>'2021-06-01')]
一般有两种方法:
1.将df['date']转换为dtype系列datetime64[ns],使用布尔型掩码,然后使用 df.loc[mask].
2.将df['date']设置为DatetimeIndex,然后使用 df[start_date : end_date]
项目场景: 在Ubuntu18.04上,涉及到vulhub安装docker时,除了sudo命令忘记以管理员权限运行导致安装失败的坑之外,在安装pip3和pip时出现问题,提示无法定位到软件包
问题解决: sudo add-apt-repository universe 原因分析: 我猜的,应该是Ubuntu最近更新了源站里的镜像,里面取消了pip但是pip3可能是unstable包,因此需要university更新一下
模型构建 ArcGIS中找个文件夹,建立一个工具箱:KingUse,你的就随便了。
在KingUse工具箱内创建一个Model,叫IntersectTest ,就是相交分析测试的意思。
如图:
打开ModelBuidler,或者打开你的模型,这样就来到了ModelBuilder(以下简称MB)的界面了。
把相交分析工具拖拽进去,保存一下。如图:
这样你就创建完成了第一个模型,啥参数也没有。保存一下,然后关闭MB。
模型运行 下面来看看这种情况下这个模型的运行情况。
Arccatalog中,找到目录,你的模型的位置,然后右击模型,选择打开,你得到了这样的界面:
点击确定,会有提示。
相当于你只是做了个工具,但是没有给工具提供需要的输入和输出参数。因此这个模型是不完善的。下面进行更改,看看其他的情况。
模型构建 右击模型,选择编辑,
弹出如下界面:
右击相交,获取变量--》从参数--》输入要素
现在模型是这个样子的:
这个时候如果运行,还是和原来一样,有错误。
这个时候还是没有参数,下面的操作带来了参数的设置。
首先还是编辑这个模型。
右击输入要素,选择模型参数,这就是告诉计算机,这个输入要素是个参数,是个参数。
在输出要素类处也做同样的事情。之后模型是这个样子
保存,然后关闭MB。
然后打开这个模型,会出现下面的界面。
这个时候,这个模型就具备了运行的条件。
输入两个两个要素,他们就可以做相交运算,然后就可以出baby了。
这个map我用的是ArcgisTutorial里面的那个经典的Map目录里面的mxd,你可以随意了。
红色的道路()和县界做了相交,即 arterial 和country 。
arterial的翻译如下:动脉;干线(指主要公路、河流、铁路线等)
输出结果存入:C:\Users\arcgi\Documents\ArcGIS\Default.gdb\arterials_Intersect
记住这个结果的位置。
在点击确定之前,我们先去看看这个输出位置上有什么?
好了,做了这么多,我要点击确定了,看看能不能运行?
点击确定。
真的成功了,我们去这里看看
C:\Users\arcgi\Documents\ArcGIS\Default.gdb\arterials_Intersect
会发现果然多了一个数据,
地图上表现如下:
把原始的两个数据也勾选会看的更清楚。
好了,这个模型可以运行了,下一步是想把它发布为服务,然后api调用一下。
再次奥!
def sortv(x): return x.sort_values(ascending=False)[:5] tips.groupby(by='sex')['tip'].apply(sortv)
查看全部模块: help('modules') (在IDL里运行)
安装\卸载:pip install/uninstall xxx
查看已经安装的第三方模块:pip list
PyCharm中的Terminal跟IDL性质一样
在Python Console中可以使用help函数查看库的说明
本文章为个人笔记,其中主要内容出自其他各位大佬的总结,加上了一些自己的补充,写这个是为了做一总结以供自己以后忘了查阅。
1、Anaconda安装教程
教程中配置环境那一项由于我是将以前安装的Python卸载后再安装的Anaconda,电脑里仅有Anaconda带的那一个Python,因此仅需要配置D:\Anaconda和D:\Anaconda\Scripts这两项即可(前提是还是在D盘里创建空文件夹用以安装Anaconda)
注意:
(1)如果像原博主一样电脑中已经安装有Python了,要加上D:\Python\Scripts(加上Python所在安装路径下的Scripts就好,按照具体的安装路径更改)
(2)win 10中配置环境变量点击浏览,依次写入路径,如下图。
或者点击编辑文本,中间带分号一次写入所有路径(最后显示还是分行的状态,但是写入的时候方便些)
(3)本博文中附带环境管理教程
2、配置国内镜像源(pip+Anaconda)
(1)pip
在C:\Users\(我的名字)\AppData\Roaming中创建空文件夹,命名为pip。
在pip里新建文本文档也命名为pip。
在文件中输入以上内容(pip替换成国内的阿里镜像源)
保存文本文档时先Ctrl+s保存,再另存为-保存类型选所有文件-文件名中输入‘pip.ini’-即保存为配置文件。 配置成功。
(2)Anaconda
方法很多,这是其中的一个方法
也可以在开始菜单里选择Anaconda Navigator(Anaconda)-Enviroments-channels-add中进行修改。
用pip把包下不下来时也可以在这里面试试,用Anaconda下。
3、安装GDAL(大佬总结不废话,膜拜就对了)
说明 此方法将此 String 与另一个 String 进行比较,忽略大小写考虑。如果两个字符串的长度相同,并且两个字符串中对应的字符是相等的忽略大小写,则认为两个字符串是相等的忽略大小写。
语法 这是此方法的语法 -
public boolean equalsIgnoreCase(String anotherString) 参数 这是参数的详细信息 -
anotherString - 与此字符串进行比较的字符串。
返回值 如果参数不为空且字符串相等,则此方法返回 true,忽略大小写;否则为假。
示例 现场演示 public class Test { public static void main(String args[]) { String Str1 = new String("This is really not immutable!!"); String Str2 = Str1; String Str3 = new String("This is really not immutable!!"); String Str4 = new String("This IS REALLY NOT IMMUTABLE!!"); boolean retVal; retVal = Str1.
异步 一般代码是从上而下执行的,比如有3个打印语句,正常执行是从第一个到最后一个按照顺序打印出来,也就是后面的打印语句会等待前面的打印语句执行完后在执行,这个是同步执行,同步意味着有序执行;而异步就是,后面的打印语句不会等待前面的执行完后再执行,也就是说异步不会阻塞其他任务执行,异步意味着无序执行 异步与多线程多进程:
异步是轻量级的线程,可以叫做协程多进程和多线程无法获取函数的返回值,但是异步可以获取函数的返回值,进程池和线程池可以说是有异步的效果,它们可以获取函数的返回值主进程是异步才可以使用异步更适合需要返回值的操作,比如文件读写使用多线程和多进程更适合不需要返回值的操作 async与await关键字
Python3.4后才有的async 定义异步await 执行异步 用法:
# 定义异步函数 async def test(a): return a # 执行异步 async def t2(): res = await test(1) asyncio模块: 调用异步模块执行内置了对异步IO的支持,用于处理异步IO提供了使用协程构建并发应用的工具asyncio提供的框架以事件循环(event loop)为中心,程序开启一个无限的循环,程序会把一些函数注册到事件循环上。当满足事件发生的时候,调用相应的协程函数 asyncio调用async函数
用法:
async def main(): result = await asyncio.gather(a(),b()) print(result) if __name__ == '__main__': asyncio.run(main()) 例1:非异步
import time import os def test1(): for i in range(3): print(f'test1,i={i},进程号:{os.getpid()}') time.sleep(1) def test2(): for j in range(3): print(f'test2,j={j},进程号:{os.getpid()}') time.sleep(1) if __name__ == '__main__': # 开始时间 start_time = time.
项目Gitee源码链接:https://gitee.com/zx201014/ojproject
项目GitHub源码链接:https://github.com/zx04180521/OJProject
目录 项目简介1.项目实现步骤1.1数据库的创建1.2创建数据库工具类Util1.3创建能够实现运行命令的类CommandUtil1.4创建生成目录以及构造指令的类Task1.5创建数据库的实体类Problem以及数据库操作类ProblemDAO1.6 创建Servlet代码1.7代码中用到的一些文件操作工具类 2 单元测试2.1插入数据测试2.2删除数据测试2.3 查询所有题目列表2.4 查询题目详情2.5 Task编译运行的测试 项目简介 在线OJ系统就是大家平时刷题的网站,比如力扣,我的这个系统就是模仿力扣网站做了一个简单的OJ系统,不过目前只实现了部分功能,比如展示题目列表,查看题目详情,编写代码,提交运行
1.项目实现步骤 1.1数据库的创建 这个项目的数据库比较简单,只有一张表:题目表,其中表的字段有题目id、题目名称、题目难度、题目描述、题目模板代码、题目测试代码。
解释:题目的模板代码指的是用户可以看到的代码,也就是给用户提供了一个实现的函数,题目的测试代码指的是用户提交代码之后,进行运行校验结果时的测试代码,也就是主函数
创建数据库代码:
create database if not exists ojProject; use ojProject; create table oj_table( id int primary key auto_increment, title varchar(50), level varchar(20), description varchar(4096), templateCode varchar(4096), testCode varchar(4096) ); 1.2创建数据库工具类Util 在这个类中,能够向其他类提供建立数据库连接的接口以及关闭数据库连接的接口
public class DBUtil { //连接数据库的URL public static String URL = "jdbc:mysql://localhost:3306/ojProject?characterEncoding=utf8&useSSL=true"; //数据库的用户名 public static String USER = "root"; //数据库的密码 public static String PASSWORD = "
各司其职 HTML/CSS/JS各司其职
应当避免不必要的由JS直接操作样式
可以用class来表示状态
纯展示类交互寻求零JS方案(可以用CSS实现)
例如:实现一个网页的“夜间模式”
方法一:
const btn = document.getElementById('modeBtn'); btn.addEventListener('click', (e) => { const body = document.body; if(e.target.innerHTML === '') { body.style.backgroundColor = 'black'; body.style.color = 'white'; e.target.innerHTML = ''; } else { body.style.backgroundColor = 'white'; body.style.color = 'black'; e.target.innerHTML = ''; } }); 缺点
程序用了js直接操作样式
代码显得复杂繁琐、且复用性差
改进:
可以用class来表示状态 方法二:
const btn = document.getElementById('modeBtn'); btn.addEventListener('click', (e) => { const body = document.body; if(body.className !== 'night') { body.className = 'night'; } else { body.
文章目录 一、题目1、题目描述2、基础框架3、原题链接 二、解题报告1、思路分析2、时间复杂度3、代码详解 三、本题小知识四、加群须知 一、题目 1、题目描述 写一个 RecentCounter 类来计算特定时间范围内最近的请求。实现 RecentCounter类:
( 1 ) (1) (1) RecentCounter():初始化计数器,请求数为 0 。
( 2 ) (2) (2) int ping(int t):在时间 t 添加一个新请求,其中 t 表示以毫秒为单位的某个时间,并返回过去 3000 毫秒内发生的所有请求数(包括新请求)。确切地说,返回在 [t-3000, t] 内发生的请求数。保证 每次对 ping 的调用都使用比之前更大的 t 值。
样例输入: ["RecentCounter", "ping", "ping", "ping", "ping"] [[], [1], [100], [3001], [3002]]
样例输出: [null, 1, 2, 3, 3]
2、基础框架 C语言版本 给出的基础框架代码如下: typedef struct { } RecentCounter; RecentCounter* recentCounterCreate() { } int recentCounterPing(RecentCounter* obj, int t) { } void recentCounterFree(RecentCounter* obj) { } /** * Your RecentCounter struct will be instantiated and called as such: * RecentCounter* obj = recentCounterCreate(); * int param_1 = recentCounterPing(obj, t); * recentCounterFree(obj); */ 3、原题链接 ( 1 ) (1) (1) LeetCode 933.
HTML简介 HTML(HyperText Markup Language,超文本标记语言),用于构建网页基本结构及其内容的标记语言
超文本:文本中包含只想其他文本的链接
标记语言:将文本以及文本相关的其他信息结合起来,展现出关于文档结构,如:HTML、XML、KML、Markdown
HTML结构 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>测试HTML</title> </head> <body> <p class="one">这是p标签</p> <div id="one">这是div标签</div> </body> </html> blob:https://carbon.now.sh/cf0d8a72-2ef7-4a3b-82fa-c09461a0946d
:放在HTML文档最前面的位置,加上之后就会按照W3C的HTML5标准来渲染界面 :根元素,包含整个页面内容 :对用户不可见,其中包括例如面向搜索引擎的关键字、页面描述、字符编码声明、CSS样式等 :该元素能够被用户访问到的内容,包括文本、图像、视频、游戏、音频等 HTML页面结构 meta 定义文档字符编码 <meta charset="utf- -8"> 关键字 <meta name="keywords" content="HTML"> 页面描述 <meta name="description" content="HTML基础"> 主要用于移动端,定义设备屏幕上用来显示网页的区域 <meta name="viewport" content="width=device -width,initial- scale=1.0, maximum- scale=1.0, user - scalable=0"> http头部自定义meta,用于向特定网站提供一些信息 <meta "http-equiv="expires" content="31 Dec 2021"> link 当前页面的favicon <link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> 链接到样式表 <link rel="
最近在阿里云服务器centos上安装了MongoDB数据库,默认是不开启远端访问功能,需要设置一下防火墙,在开放默认端口号 8080时提示FirewallD is not running,经过排查发现是防火墙就没打开造成的,出于安装考虑还是把防火墙开上吧,以下步骤仅供参考。
解决方法/步骤
1、执行firewall-cmd --permanent --zone=public --add-port=8080/tcp,提示FirewallD is not running,如下图所示。 2、通过systemctl status firewalld查看firewalld状态,发现当前是dead状态,即防火墙未开启。 3、通过systemctl start firewalld开启防火墙,没有任何提示即开启成功。 4、再次通过systemctl status firewalld查看firewalld状态,显示running即已开启了。 5、如果要关闭防火墙设置,可能通过systemctl stop firewalld这条指令来关闭该功能。 6、再次执行执行firewall-cmd --zone=public --add-port=3306/tcp --permanent,没提示,表示设置成功,这样就可以继续后面的设置了。
1、将所有dependency全都注释了。
2、打开右侧maven projects,Lifecycle->clear.
3、将第一部注释的依赖全部还原即可。
我是这样解决的,希望对你也有用。
K8S_Kubernetes 出现 The connection to the server localhost:8080 was refused 的解决方法 介绍问题解决方法1解决方法2 介绍 最接几天在折腾 Kubernetes,记录一下遇到的一个问题以及解决方法。Kubernetes 是谷歌出品的一个容器集群管理系统,可以管理大规模分布式的容器集群,使用场景非常广泛。
问题 在集群的工作节点上执行kubectl报错
[root@k8s-node239 ~]# kubectl get pods The connection to the server localhost:8080 was refused - did you specify the right host or port? [root@k8s-node239 ~]# [root@k8s-node239 ~]# 作为集群管理的核心,工作节点上的kubectl可能一上来就跪了
安装的方法今天暂且不说,记录一下 The connection to the server localhost:8080 was refused 这个问题的解决方法。
解决方法1 在 kubectl init 之后,需要使用一个非 root 账户登录,然后运行下列命令:
sudo cp /etc/kubernetes/admin.conf $HOME/ sudo chown $(id -u):$(id -g) $HOME/admin.
文章目录 配置ElasticSearch重要的ElasticSearch配置路径设置集群名字设置节点设置网络设置发现和集群形成设置discovery.seed_hostscluster.initial_master_nodes 堆大小设置JVM堆转储路径设置GC 日志设置临时目录设置JVM 致命错误日志设置集群备份 配置ElasticSearch 重要的ElasticSearch配置 Elasticsearch 只需很少的配置即可开始使用,但在生产中使用集群之前必须考虑许多事项:
路径设置集群名称设置节点名称设置网络主机设置发现设置堆大小设置JVM 堆转储路径设置GC 日志设置临时目录设置JVM致命错误日志设置集群备份 路径设置 Elasticsearch 将您索引的数据写入索引并将数据流写入数据目录。 Elasticsearch 将自己的应用程序日志写入日志目录,其中包含有关集群运行状况和操作信息。
对于 macOS .tar.gz、Linux .tar.gz 和 Windows .zip 安装,数据和日志默认是 $ES_HOME 的子目录。但是,$ES_HOME 中的文件在升级过程中有被删除的风险。
在生产中,我们强烈建议您将 elasticsearch.yml 中的 path.data 和 path.logs 设置为 $ES_HOME 之外的位置。默认情况下,Docker、Debian、RPM、macOS Homebrew 和 Windows .msi 安装将数据和日志写入 $ES_HOME 之外的位置。
支持的 path.data 和 path.logs 值因平台而异:
Linux 和 macOS 安装支持 Unix 风格的路径:
path: data: /var/data/elasticsearch logs: /var/log/elasticsearch 集群名字设置 只有当一个节点与集群中的所有其他节点共享cluster.name时,它才能加入集群。默认名称是elasticsearch,但是您应该将其更改为描述集群用途的适当名称。
cluster.name: logging-prod 节点设置 Elasticsearch使用node.name作为Elasticsearch特定实例的可读标识符。此名称包含在许多API的响应中。节点名称默认为Elasticsearch启动时机器的主机名,但可以在elasticsearch.yml中显式配置:
node.name: prod-data-2 网络设置 默认情况下,Elasticsearch只绑定到127.
1、具体报错信息 There was an error while executing `VBoxManage`, a CLI used by Vagrant for controlling VirtualBox. The command and stderr is shown below. Command: ["hostonlyif", "create"] Stderr: 0%... Progress state: NS_ERROR_FAILURE VBoxManage: error: Failed to create the host-only adapter VBoxManage: error: VBoxNetAdpCtl: Error while adding new interface: failed to open /dev/vboxnetctl: No such file or directory VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component HostNetworkInterfaceWrap, interface IHostNetworkInterface VBoxManage: error: Context: "