[转载] python仿真入门_python基础-入门
参考链接: Pytho 集合set symmetric_difference()
主要包括:
1.变量
2.用户输入
3.if...else语句
4.for循环
5.while循环
6.break和continue语句
7.列表,元组,字典
8.字符串
9.集合
10.文件操作
引言:在我们学习任一门编程语言时,写的第一行代码当然是打印hello world了,我们来看看python是如何实现hello world程序的。
1 print("Hello world!")
python是一种解释型语言,而我们熟知的c语言c++语言等是编译型语言。
编译和解释的区别:
编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快;
解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的。
编译型vs解释型优缺点比较:
编译型
优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高。可以脱离语言环境独立运行。
缺点:编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运行环境生成机器码,不同的操作系统之间移植就会有问题,需要根据运行的操作系统环境编译不同的可执行文件。
解释型
优点:有良好的平台兼容性,在任何环境中都可以运行,前提是安装了解释器(虚拟机)。灵活,修改代码的时候直接修改就可以,可以快速部署,不用停机维护。
缺点:每次运行的时候都要解释一遍,性能上不如编译型语言。
一、变量
声明变量
1 name=“cola”
上述代码声明了一个名字为name的变量,变量name的值为cola
变量定义规则:
变量名只能是 字母、数字或下划线的任意组合
变量名的第一个字符不能是数字
以下关键字不能声明为变量名
['and', 'as', 'assert', 'break', 'class',
'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally',
'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not',
'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with',
'yield']
二、用户输入
1 #输入你的名字
2 name=input("Input your name:")3 print("Hello"+name)
很明显,这里输入是明文,而对于登陆界面需要输入密码时,我们常常不希望密码显示出来,那么如何实现密文操作呢?下列代码中,我们使用了password模块中的password方法,
1 importgetpass2 name=input("Input your name:")3 password=getpass.getpass("Your password:")
三、if...else语句
1 #用户登陆验证
2
3 importgetpass4
5 name=input("Input your name:")6 password=getpass.getpass("Your password:")7 if name=="cola" and password=="1234":8 print("Welcome back!")9 else:10 print("Your password or username is wrong.")
四、for循环
1 #for 循环
2 for i in range(10):3 print("loop:",i)
loop: 0
loop:1loop:2loop:3loop:4loop:5loop:6loop:7loop:8loop:9
运行结果
五、while循环
#while 循环
1 count=02 whileTrue:3 print("count")
六、break和continue语句
1 #break
2 for i in range(10):3 if i > 5:4 break5 print(i)
这里当i的值小于5时,输出显示i,当i等于5时跳出循环并结束循环。
1 #continue
2 for i in range(10):3 if i < 5:4 continue
5 print(i)
当i的值小于5时,跳出本次循环,进行下次循环,所以最后的结果是打印了5到9的数字。
七、列表,元组,字典
1.列表
列表的定义格式:
list=["处处吻","野孩子","小城大事","烈女"]
列表操作:切片、追加、插入、修改、删除、扩展、拷贝、统计、排序、翻转、获取下标
#切片
list=["郑中基","杨千嬅","陈奕迅",“谢安琪”]print(list[1:3]) #取下标1到下标3之间的数字,包括1,但不包括3
运行结果:["杨千嬅","陈奕迅"]print(list[1:-1]) #取下标1至-1的值,不包括-1
运行结果:["杨千嬅","陈奕迅"]print(list[0:3])
运行结果:["郑中基","杨千嬅","陈奕迅"]print(list[:3]) #如果是从头开始取,0可以忽略,跟上句效果一样
运行结果:["郑中基","杨千嬅","陈奕迅"]print(list[2:]) #如果想取最后一个,必须不能写-1,只能这么写
运行结果:["陈奕迅",“谢安琪”]print(list[2:-1]) #这样-1就不会被包含了
运行结果:["陈奕迅"]print(list[0::2]) #后面的2是代表,每隔一个元素,就取一个
运行结果:["郑中基","陈奕迅"]print(list[::2]) #和上句效果一样
运行结果:["郑中基","陈奕迅"]
切片
#追加
list=["郑中基","杨千嬅","陈奕迅","谢安琪"]
list.append("周柏豪")print(list)
运行结果:["郑中基","杨千嬅","陈奕迅","谢安琪","周柏豪"]
追加
#插入
list=["郑中基","杨千嬅","陈奕迅","谢安琪"]
list.insert(2,"在陈奕迅后面插入")print(list)
运行结果:["郑中基","杨千嬅","陈奕迅","在陈奕迅后面插入","谢安琪"]
插入
#修改
list=["郑中基","杨千嬅","陈奕迅","在陈奕迅后面插入","谢安琪"]
list[3]="薛凯琪"
print(list)
运行结果:["郑中基","杨千嬅","陈奕迅","薛凯琪","谢安琪"]
修改
#删除
list=["郑中基","杨千嬅","陈奕迅","从陈奕迅后面插入","谢安琪"]del list[3]print(list)
运行结果:["郑中基","杨千嬅","陈奕迅","谢安琪"]#remove删除指定元素
list.remove("陈奕迅")print(list)
运行结果:["郑中基","杨千嬅","谢安琪"]#pop删除列表最后一个元素
list.pop()print(list)
运行结果:["郑中基","杨千嬅"]
删除
#扩展
list=["郑中基","杨千嬅","陈奕迅","谢安琪"]
list2=["周柏豪","侧田"]
list.extend(list2)print(list)
运行结果:["郑中基","杨千嬅","陈奕迅","谢安琪","周柏豪","侧田"]
扩展
#拷贝
list=["郑中基","杨千嬅","陈奕迅","谢安琪"]
list_copy=list.copy()print(list_copy)
运行结果:["郑中基","杨千嬅","陈奕迅","谢安琪"]#copy是一种浅copy,当执行下列语句时,
list=["郑中基","杨千嬅",["陈奕迅","测试copy"],"谢安琪"]
list_copy=list.copy()print("修改前:",list)print("修改前:",list_copy)
list[1]="修改"
print(list)print(list_copy)
运行结果:
修改前: ['郑中基', '杨千嬅', ['陈奕迅', '测试copy'], '谢安琪']
修改前: ['郑中基', '杨千嬅', ['陈奕迅', '测试copy'], '谢安琪']
['郑中基', '修改', ['陈奕迅', '测试copy'], '谢安琪']
['郑中基', '杨千嬅', ['陈奕迅', '测试copy'], '谢安琪']#如果我们来修改列表中嵌套的那个列表中的某个元素时,
list=["郑中基","杨千嬅",["陈奕迅","测试copy"],"谢安琪"]
list_copy=list.copy()print("修改前:",list)print("修改前:",list_copy)
list[2][1]="修改"
print(list)print(list_copy)
运行结果:
修改前: ['郑中基', '杨千嬅', ['陈奕迅', '测试copy'], '谢安琪']
修改前: ['郑中基', '杨千嬅', ['陈奕迅', '测试copy'], '谢安琪']
['郑中基', '杨千嬅', ['陈奕迅', '修改'], '谢安琪']
['郑中基', '杨千嬅', ['陈奕迅', '修改'], '谢安琪']
拷贝
对于上述这种copy,举个例子说明一下他的用处。比如:一对夫妻共用一个银行账号,要求两个人可以使用各自的名字登陆、操作。对于嵌套的列表,我们可以把他当作是夫妻的存款,这种方法就可以使得当男/女任一方消费金额时都可以达到嵌套列表值修改的效果。
#统计
list=["郑中基","杨千嬅","陈奕迅","陈奕迅"],"谢安琪"]print(list.count("陈奕迅"))
运行结果:2
#统计的是列表中某个元素的个数,所以count的参数为列表元素值
统计
#排序
list=["郑中基","杨千嬅","陈奕迅","谢安琪"]
list.sort()print(list)
运行结果:['杨千嬅', '谢安琪', '郑中基', '陈奕迅']
这里具体按什么排序我也不知道,可能是编码吧!
再看下面一种情况,
list=["郑中基","杨千嬅","陈奕迅","谢安琪",1,2,3]
如果list中既有字符串也有数字,这时运行程序会出现如下错误:
TypeError: unorderable types: int()
对于纯数字列表,
list=[3,2,4,6,6,3]
list.sort()print(list)
运行结果:[2, 3, 3, 4, 6, 6],这里是按数字由小到大排序的
再来看这种情况,
list=["郑中基","杨千嬅","陈奕迅","谢安琪","1","2","3"]
list.sort()print(list)
运行结果:['1', '2', '3', '杨千嬅', '谢安琪', '郑中基', '陈奕迅']
排序
#反转
list=["郑中基","杨千嬅","陈奕迅","谢安琪"]
list.reverse()print(list)
运行结果:['谢安琪', '陈奕迅', '杨千嬅', '郑中基']
反转
#获取下标
list=["郑中基","杨千嬅","陈奕迅","谢安琪"]print(list.index("郑中基"))
运行结果:0#需要注意的的时,index()只返回找到的第一个下标
获取下标
2.元组:不可修改的列表(只读列表),只有两个操作(count,index)
这里只说明一点,元组是用小括号,而列表则是中括号。
tuple=("处处吻","野孩子","小城大事","烈女")
list=["处处吻","野孩子","小城大事","烈女"]
3.字典
字典是一种key-value的数据类型,我们上学时使用字典的方法是通过拼音或者偏旁部首来查某个字词,python中的字典也是如此,通过key来获取value的。
字典的定义格式:
1 song_list={2 "1001":"处处吻",3 "1002":"小城大事",4 "1003":"烈女",5 }
需要注意的是:
字典是无序的
字典的key是唯一的
字典操作:增加、修改、删除、查找、多级字典嵌套、循环字典、其他操作
#增加
song_list={"1001":"处处吻","1002":"小城大事","1003":"烈女",
}print(song_list)
song_list["1004"]="野孩子"
print(song_list)
运行结果:
{'1002': '小城大事', '1003': '烈女', '1001': '处处吻'}
{'1002': '小城大事', '1003': '烈女', '1001': '处处吻', '1004': '野孩子'}
增加
#修改
song_list={"1001":"处处吻","1002":"小城大事","1003":"烈女",
}print(song_list)
song_list["1003"]="野孩子"
print(song_list)
运行结果:
{'1001': '处处吻', '1002': '小城大事', '1003': '烈女'}
{'1001': '处处吻', '1002': '小城大事', '1003': '野孩子'}
修改
#删除
#第一种删除方式
song_list={"1001":"处处吻","1002":"小城大事","1003":"烈女",
}print(song_list)
song_list.pop("1002")print(song_list)
运行结果:
{'1001': '处处吻', '1002': '小城大事', '1003': '烈女'}
{'1001': '处处吻', '1003': '烈女'}#第二种删除方式
song_list={"1001":"处处吻","1002":"小城大事","1003":"烈女",
}print(song_list)del song_list["1002"]print(song_list)
运行结果同上#随机删除 popitem
song_list={"1001":"处处吻","1002":"小城大事","1003":"烈女",
}print(song_list)
song_list.popitem()print(song_list)
运行结果为随机删除一个key-value
删除
#查找
song_list={"1001":"处处吻","1002":"小城大事","1003":"烈女",
}print("1001" insong_list)
运行结果: True
song_list={"1001":"处处吻","1002":"小城大事","1003":"烈女",
}print(song_list.get("1001"))
运行结果:处处吻
song_list={"1001":"处处吻","1002":"小城大事","1003":"烈女",
}print(song_list["1001"])
运行结果同上,但是当需要查找的这个key不在字典中是,这种方式会报错KeyError: ,而get不会,不存在将返回None
查找
#多级字典嵌套
catalog={"大陆":{"刘欢":"北京欢迎您","韩红":"天路","孙楠":"哪吒传奇"},"台湾":{"周杰伦":"蜗牛","罗志祥":"爱不单行","邓丽君":"甜蜜蜜"},"香港":{"陈奕迅伦":"十年","郑中基":"无赖","杨千嬅":"可惜我是水瓶座"},
}print(catalog)
catalog["香港"]["杨千嬅"]+=",野孩子"
print(catalog["香港"]["杨千嬅"])
运行结果:{'大陆': {'刘欢': '北京欢迎您', '孙楠': '哪吒传奇', '韩红': '天路'}, '香港': {'郑中基': '无赖', '陈奕迅伦': '十年', '杨千嬅': '可惜我是水瓶座'}, '台湾': {'邓丽君': '甜蜜蜜', '周杰伦': '蜗牛', '罗志祥': '爱不单行'}}
可惜我是水瓶座,野孩子
多级字典嵌套
#循环字典
dic={"1001":"吃饭","1002":"睡觉","1003":"写代码"}#方法一
for key indic:print(key,dic[key])
运行结果:1001吃饭1003写代码1002睡觉#方法二
for k,v indic.items():print(k,v)#这里首先把dict转换成list,数据大时不要用
print(dic.items())>>>dict_items([('1001', '吃饭'), ('1003', '写代码'), ('1002', '睡觉')])
循环字典
dic={"1001":"吃饭","1002":"睡觉","1003":"写代码"}#values
print(dic.values())>>>dict_values(['写代码', '睡觉', '吃饭'])#keys
print(dic.keys())>>>dict_keys(['1003', '1002', '1001'])#items
print(dic.items())>>>dict_items([('1001', '吃饭'), ('1003', '写代码'), ('1002', '睡觉')])#setdefault 如果原字典中没有参数中这个key就添加一项,有key无影响
dic.setdefault("1004","eat")print(dic)>>>{'1004': 'eat', '1001': '吃饭', '1002': '睡觉', '1003': '写代码'}
dic.setdefault("1001","eat")print(dic)>>>{'1003': '写代码', '1002': '睡觉', '1001': '吃饭'}#update
b={1:2,2:3}
dic.update(b)print(dic)>>>{'1001': '吃饭', 1: 2, '1003': '写代码', '1002': '睡觉', 2: 3}#通过一个列表生成默认dict,有个没办法解释的坑,少用
dict.fromkeys([1,2,3],'testd')>>> {1: 'testd', 2: 'testd', 3: 'testd'}
其他
八、字符串
1.字符串拼接
三种方法:万恶的+,使用占位符,format两个格式
1 #万恶的加号
2
3 information='''-------information of'''+name+'''-------4 name:'''+name+'''
5 age:'''+age6 print(information)
1 #使用占位符
2
3 information='''
4 -----------information of %s5 name:%s6 age:%d7 '''%(name,name,age)8 print(information)
1 #format的两种格式
2
3 information='''
4 -----------information of {_name}5 name:{_name}6 age:{_age}7 '''.format(_name=name,_age=age)8 print(information)9
10 information='''
11 -----------information of {0}12 name:{0}13 age:{1}14 '''.format(name,age)15 print(information)
2.字符串操作
1 name="i \tdrink {cola}"
2 print(name.capitalize()) #首字母大写
3 print(name.count("a")) #a的个数
4 print(name.center(50,"-")) #共打印50个字符(name居中),不够用-表示
5 print(name.encode(encoding="utf-8"))6 print(name.endswith("b")) #判断字符串是否以b结尾,返回布尔值
7 print(name.expandtabs(30)) #tab即\t占30字符
8 print(name[name.find("drink"):]) #切片
9 print(name.format(cola="cola")) >>>i drink cola10 print(name.format_map({"cola":"cola"}))11 print(name.isalnum()) #判断是否为数字
12 print("abc22tt".isalnum())13 print("abc2".isalpha()) #判断是否为字母
14 print("abc".isalpha())15 print("1".isdecimal()) #判断是否为十进制
16 print("1a".isdecimal())17 print("a1a".isidentifier()) #判断是否为一个合法的标识符
18 print("aaa".islower()) #判断是否为小写
19 print("AAA".isupper()) #判断是否为大写
20 print(" ".isspace()) #判断是否为空格
21 print("We Love You".istitle())22 print("mmm".isprintable())23 print("+".join(["1","2","3"])) >>>1+2+3
24 print(name.ljust(50,"*")) #左边用*补齐50字符
25 print(name.rjust(50,"*"))26 print("ALEX".lower()) #小写
27 print("alex".upper())28
29 print("alex \n") #去除换行符和空格
30 print("alex \n".strip())31 print("alex \n".lstrip())32 print("alex \n".rstrip())33
34 name.partition("i") #将name字符串按照i进行划分,返回一个元组
35
36 p=str.maketrans("abc","123") #abc分别对应123
37 print("cola".translate(p)) #将cola中的字符按abc对应123进行转化
38
39 print("cola cola".replace("c","C",1)) #"c"换成"C",换一个
40 print("cola cola".rfind("l")) #找右边l的位置
41 print("cola cola Cola".split("l")) #把字符串变换为列表,默认按空格分
42 print("cola\ncola\nCola".splitlines()) >>>['cola', 'cola', 'Cola']43 print("cola".swapcase()) #大小写互换
44 print("cola cola".title())45 print("cola".zfill(50)) #前面用0补足50个字符
九、集合
集合特点:无序,不重复 ------->>>去重、关系测试(交差并)
1 s=set("hello world") #创建一个字符集合
2
3 t=set([1,2,3,4,2]) #创建一个数字集合
4
5 #关系操作
6 a = t | s #t 和 s的并集
7
8 b = t & s #t 和 s的交集
9
10 c = t – s #求差集(项在t中,但不在s中)
11
12 d = t ^ s #对称差集(项在t或s中,但不会同时出现在二者中)
13
14 list1 = [1,4,5,7,3,1,4]15 list1 =set(list1)16 list2 = set([2,6,3,2,4,6])17 #print(list1,type(list1))
18 print(list1,list2)19
20 #交集 intersection
21 print("------交集-------")22 print(list1.intersection(list2))23 print(list1 &list2)24 #并集 union
25 print("------并集-------")26 print(list1.union(list2))27 print(list1 |list2)28 #差集 difference
29 print("------差集-------")30 print(list1.difference(list2))31 print(list1 -list2)32 #子集父集 subset和superset
33 print("------子集-------")34 print(list2.issubset(list1))35 print(list2.issuperset(list1))36 #对称差集 symmetric_difference
37 print("------对称差集-------")38 print(list1.symmetric_difference(list2))39 print(list1 ^list2)40 print("-----------------")41 print(list1.isdisjoint(list2))42
43 #集合增删改查
44
45 list= [1, 2, 2, 3, 4]46 list=set(list)47 print( list )48 list.add(5)49 print( list )50 list.update([9,8,7])51 print( list )52 list.remove(9)53 print( list )54 print(len(list))55 list.remove(2)56 print( list )57 print(2 inlist)58 print(2 not inlist)59 print(list.pop()) #删除第一个60 print(list.discard(4))
十、文件操作
文件操作流程
打开文件,得到文件句柄并赋值给一个变量
通过句柄对文件进行操作
关闭文件
打开文件的模式有:
r,只读模式(默认)。
w,只写模式。【不可读;不存在则创建;存在则删除内容;】
a,追加模式。【可读; 不存在则创建;存在则只追加内容;】
"+" 表示可以同时读写某个文件
r+,可读写文件。【可读;可写;可追加】
w+,写读
a+,同a
"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)
rU
r+U
"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)
rb
wb
ab
文件操作,读取一行:
f.readline()
对文件进行读操作时,可以通过tell()和seek()语句来操作读文件的光标位置。
在w模式下进行操作时,会把原来文件的内容清空!!!
f.trunate() #清空文件
f.truncate(10) #从文件开头开始截断,seek无效
对于文件修改,我们可以通过新建一个新的文件来实现,如下:
1 f=open("cola","r")2 f_new=open("cola_new","w")3 for line inf:4 if "可否有另一个我在你身边给予快乐" inline:5 line=line.replace("可否有另一个我在你身边给予快乐","可否有另一个我在你身边给予快乐__赵浴辰")6 f_new.write(line)7 f.close()8 f_new.close()
通过flush语句来实现进度条:
1 importsys,time2
3 for i in range(50):4 sys.stdout.write("#")5 sys.stdout.flush()6 time.sleep(0.5)
sys模块中的sys.stdout.write方法可以实现不换行打印,sleep方法实现延时的。
注:学习了几天python,想要把这些基础的语法记录下来,以便自己记忆和后续学习。
[转载] python仿真入门_python基础-入门相关推荐
- python安装方法_Python基础入门——简介和环境配置,超实用!
作者 | kbsc13 来源 | 机器学习与计算机视觉(ID:AI_Developer) 上周结束了如何构造一个机器学习项目的系列文章,当然还有一篇简单的总结以及介绍一些入门的学习资料,不过还在整理, ...
- python仿真入门_python基础-入门
主要包括: 1.变量 2.用户输入 3.if...else语句 4.for循环 5.while循环 6.break和continue语句 7.列表,元组,字典 8.字符串 9.集合 10.文件操作 引 ...
- python列表解析式_Python基础入门-列表解析式
今天我们使用Python中的列表解析式来实现一些简单功能.好了关于列表解析式是什么?我的理解是它可以根据已有列表,高效创建新列表的方式.列表解析是Python迭代机制的一种应用,它常用于实现创建新的列 ...
- python 异常处理 变量_Python基础入门:从变量到异常处理
一 . 条件语句 1.if-else 语句 当if语句后的条件结果表达式为假,则执行else 语句后的代码. 如若输入数字非666,则会输出"猜错了,小姐姐现在心里想的为666" ...
- Python学习教程(Python学习路线_Python基础学习教程_Python视频教程):初学者新手怎样快速入门Python
Python学习教程(Python学习路线_Python基础学习教程_Python视频教程):初学者新手怎样快速入门Python? 人生苦短,我用Python!!!短短几个字,现在在各大学习类平台随处 ...
- 学python需要什么基础知识-学习Python需要知道哪些基础入门知识?
众所周知,Python以优雅.简洁著称,入行门槛低,可以从事Linux运维.Python Web网站工程师.Python自动化测试.数据分析.人工智能等职位!就目前来看,Python就业前景广阔.很多 ...
- 美女讲师教你学Python第一季:基础入门-秦红华-专题视频课程
美女讲师教你学Python第一季:基础入门-448人已学习 课程介绍 本课程以最新的Python3为基础,面向Python编程语言的初学者: 精选教材,内容反复锤炼,精炼详实,既有实用 ...
- 用python循环语句求素数_Python基础入门_3条件语句和迭代循环
Python 基础入门前两篇: Python 基础入门--简介和环境配置 Python基础入门_2基础语法和变量类型 这是第三篇内容,主要简单介绍条件语句和迭代循环语句,内容也比较简单,目录如下: 条 ...
- python仿真入门_python simulation入门
python仿真入门-Simulation(1) --用一个简单的例子来开始 1.简单问题 扔三枚硬币,设在投掷3次朝上后,我们已经总计投掷了X次.求投掷六次以上的概率P(x>6)和期望E(X) ...
最新文章
- Hibernate ORM框架学习日记基础篇-1
- C语言-实现矩阵的转置-随机函数产生随机数并赋予数组中-190222
- STM32F103输出互补PWM波
- [IOS, Android] UI Thread的一些思想
- idea创建svn分支
- JAVA计算机毕设题目大全
- LeetCode -- 1818. 绝对差值和
- PPT 设置幻灯片母版
- 【DB笔试面试594】在Oracle中,关键字NOLOGGING、APPEND和PARALLEL提高DML性能方面有什么差别?...
- STM32存储器知识的相关应用(IAP、Bit Banding)
- 2022全网最全的爆款抓包工具,各有千秋
- 有效学习的6个方法学习方法
- Codeforces 869 C. The Intriguing Obsession (组合数学)
- c语言题目翻译,c语言专业词汇表达带翻译
- 在linux系统中 创建用户账户的同时,在Linux系统中大批量建立帐户
- java分布式实现图片上传到图片服务器
- Linux命令:dpkg【dpkg命令的英文全称是“Debian package”,故名意思是Debian Linux系统用来安装、创建和管理软件包的实用工具】
- linux 源码安装7za
- Zemax优化过程中的Rings和Arms
- 基于二维码的设备巡检系统相关技术
热门文章
- eclipse deploy path 修改
- 2021牛客暑期多校训练营10,签到题FH
- 【CCCC】L2-004 这是二叉搜索树吗? (25分),二叉搜索树前序遍历
- NYOJ455 - 黑色帽子
- 计算机原理的拼音,微机原理课程,the course of microcomputer principles,音标,读音,翻译,英文例句,英语词典...
- c语言转换为python语言_使用C语言中的数据缓冲区和NumPy数组之间的转换来为Python接口打包C程序的最佳方法是什么?...
- JavaScript函数的arguments(2)
- 2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛 E. Half-consecutive Numbers
- [leetcode]5340. 统计有序矩阵中的负数
- I/O: 阻塞非阻塞I/O 同步异步I/O