超算二
linux的学习
vim
- 一般模式(删除,复制,粘贴)
- 命令模式(:wq:q:q)
- 编辑模式(编辑文本)
常用的基本命令
- man (功能:获得帮助信息)语法:man【命令或者配置文件】
- help (功能:获得shell内置命令的帮助)用exit退出
目录类命令
- ls (列举文件)
ls -a可以展示出隐藏的内容
ls -l 用列表的方式展示内容
ls -h与-l配合更加人性的显示文件的大小单位 - cd (切换工作目录)cd 【linux路径】
- pwd(展示工作目录)
- 相对路径与绝对路径:
相对路径: 以当前所在目录为起点,描述路径
绝对路径:以根目录为起点,描述路径的写法,要以“/”开头 - mkdir (创建目录) mkdir【-p】 【linux路径】 -p选填(可自动创建不存在的父目录),参数必须填
- touch (创建文件)
- cat (查看文件内容)全部显示
- more(查看文件内容)支持翻页
- cp (复制文件/文件夹) cp 【-r】参数1(被复制) 参数2 -r选填(删除文件夹)
- mv(移动文件/文件夹) mv 参数1 参数2
- rm (删除文件/文件夹) rm 【-r -f】参数 -f(强制删除) 可任意选择参数
- grep(过滤文件行) grep【-n】 关键字 文件路径
- wc (统计数量) wc 【-c -m -l -w】 文件路径 -c(字节数) -m (字符数) -l (行数) -w(单词数)
- which (查找命令)
- find (查找文件)
find -name“被查找文件名”(按文件名查找)
find -size +|-n【kMG】 (按照文件大小找)
python学习(队列和栈)
队列和栈都是数据结构二者有相同点也存在很大差别。其中队列遵循先进先出的原则而栈遵循后进先出的原则来处理。
队列
栈
在python中常用到append与pop来进行出入队列
a= input("输入式子")
def jisuan(a):
number = []
stack = []
for i in a:
if i.isnumeric():
number.append(i)
else:
if len(stack) == 0:
stack.append(i)
elif i in '/*(':
stack.append(i)
elif i == ')':
t = stack.pop()
while t != '(':
number.append(t)
t = stack.pop()
elif i in '+-' and stack[len(stack) - 1] in '*/':
if stack.count('(') == 0:
while stack:
number.append(stack.pop())
else:
t = stack.pop()
while t != '(':
number.append(t)
t = stack.pop()
stack.append('(')
stack.append(i)
else:
stack.append(i)
while stack:
number.append(stack.pop())
return "".join(number)
print(jisuan(a))
中缀表达式与后缀表达式
生活中常见的是中缀表达式但是由于计算符号有优先级,中缀表达式在计算机中并不适用,转化为后缀表达式。使用了栈的方式,在检索到“(” 时开始入栈而在“)”时开始出栈。由于栈是后进先出的原则,可以使得括号的优先级最高。而后判断*/。