【算法•日更•第二十七期】基础python
▎前言
看到这个题目,你一定会很好奇,为什么学打NOIP的要学习python?其实python对我们是很有用的!
NOIP虽然不支持使用python提交代码,但是在NOILinux上天生自带python。python是一门比C++高级的语言,唯一的缺点就是慢!但是我们不用python来写代码,而是利用它自身打包好的函数实现一些C++要好多代码才能做到的事情。
比如说打表、对拍、计算等等,也可以用来辅助你写代码,那么废话不多说,直接带你快速上手python!
▎计算器
☞『表达式』
在python中,只要直接输入一个表达式,就会直接告诉你结果。
1 >>> 1+1 2 2
好吧,这个太简单了,我们来一个混合运算:
1 >>> (2+16)*3/2 2 27.0
虽然算对了,但是可以注意到:有除法时结果是浮点数。
当然,诸如取模之类的运算也是可以的。
☞『整除』
那么如何实现C++中的“/”呢?使用"//"。
1 >>> 16//3 2 5
☞『乘方』
两个“*”表示乘方:
1 >>> 2**3 2 8
☞『高精度』
python天生自带高精度。
1 >>> 192608171145142333333333333333333323424213545324654654765765777776575676*4213423575686765974537687674568567 2 811539809172854192357590409566235439234427211936317976434431655370121871259439787490543441886511926376292
▎变量
☞『定义』
python变量的定义可不一样,是隐藏数据类型的,自动判断数据类型,所以只要赋值即可。
1 >>> a=1 2 >>> a 3 1
1 >>> a="python" 2 >>> a 3 'python'
顺便说一下,python的字符串可以单引号,也可以双引号括起来。
1 >>> a=3.141592653 2 >>> a 3 3.141592653
1 >>> a=111 2 >>> b=6 3 >>> a*b 4 666
☞『使用』
如上所述,变量直接像C++一样用就可以了。
▎输入与输出
☞『输入』
使用input输入:
1 >>> a=input() 2 2 3 >>> a 4 '2'
由于默认是字符串,所以返回的是字符串,如果要更换类型,那么我们就强制转换:
1 >>> a=int(input()) 2 2 3 >>> a 4 2
☞『输出』
不一样的是输出少了个“f”:
1 >>> print("Hello,world!") 2 Hello,world!
▎列表
列表可以理解为数组,但是比数组好用、高级的多,天生就是vector。
☞『定义』
稍微有点不太一样,是用中括号括起来的,但是不用写数据类型和大小,直接用就可以了:
1 >>> list=[1,1,4,5,1,4] 2 >>> list 3 [1, 1, 4, 5, 1, 4]
还可以在同一列表上使用不同类型的元素。
1 >>> list=[1,2,3.14,"hello"] 2 >>> list 3 [1, 2, 3.14, 'hello']
☞『引用』
和数组一模一样。
1 >>> list=[1,2,3.14,"hello"] 2 >>> list 3 [1, 2, 3.14, 'hello'] 4 >>> list[1] 5 2
也是从0开始编号。
当然,下标可以是负数,这样就是倒着数的第几个的意思。
1 >>> list=[1,2,3,4,5] 2 >>> list[-1] 3 5
☞『区间』
我们可以用“:”来取中间的一段区间。
1 >>> list=[1,2,3,4,5] 2 >>> list[1:3] 3 [2, 3]
我们要输出应该是2,3,4,但是为什么只输出了2,3呢?因为这是左闭右开的,也就是说只会显示区间[l,r-1]。
☞『其他』
列表是支持加到末尾的。
1 >>> list1=[1,2,3] 2 >>> list2=[4,5,6] 3 >>> list1+=list2 4 >>> list1 5 [1, 2, 3, 4, 5, 6]
还可以跳过一些数:(冒号可以加的更多,其中下标为二的数被省去了)
1 >>> list1=[1,2,3,4,5,6] 2 >>> list1[1:3:2] 3 [2]
▎if
python的if和C++十分相似,但是python没有括号,要加冒号,并且严格按照空格来执行(4个空格)
1 >>> a=1 2 >>> if a==1: 3 ... print("YES") 4 ... 5 YES
再来看一看elif(else if):
1 >>> a=1 2 >>> b=2 3 >>> if a==2: 4 ... print(a) 5 ... elif b==2: 6 ... print(b) 7 ... 8 2
▎for
python有点不太一样,没有结束条件。
>>> list=[1,2,3,4,5] >>> for i in list: ... print(list[i]) ... 2 3 4 5
可以看出i是默认从1开始,那么我们尝试从0开始:
1 >>> list=[1,2,3,4,5] 2 >>> for i in range(0,5,1): 3 ... print(list[i]) 4 ... 5 1 6 2 7 3 8 4 9 5
其中range是个好东西,其中的三个数分别是初始值,结束值,和每次增加数量。
注意:python是左闭右开的,所以区间要变成[0,5]。
▎结尾语
当然,python的命令还有很多,推荐大家到菜鸟教程上学习。