▎前言

  看到这个题目,你一定会很好奇,为什么学打NOIP的要学习python?其实python对我们是很有用的!

  NOIP虽然不支持使用python提交代码,但是在NOILinux上天生自带python。python是一门比C++高级的语言,唯一的缺点就是慢!但是我们不用python来写代码,而是利用它自身打包好的函数实现一些C++要好多代码才能做到的事情。

  比如说打表、对拍、计算等等,也可以用来辅助你写代码,那么废话不多说,直接带你快速上手python!

▎计算器

☞『表达式』

  在python中,只要直接输入一个表达式,就会直接告诉你结果。

 >>> 1+1
2

  好吧,这个太简单了,我们来一个混合运算:

 >>> (2+16)*3/2
27.0

  虽然算对了,但是可以注意到:有除法时结果是浮点数。

  当然,诸如取模之类的运算也是可以的。

☞『整除』

  那么如何实现C++中的“/”呢?使用"//"。

 >>> 16//3
5

☞『乘方』

  两个“*”表示乘方:

 >>> 2**3
8

☞『高精度』

  python天生自带高精度。

 >>> 192608171145142333333333333333333323424213545324654654765765777776575676*4213423575686765974537687674568567
811539809172854192357590409566235439234427211936317976434431655370121871259439787490543441886511926376292

▎变量

☞『定义』

  python变量的定义可不一样,是隐藏数据类型的,自动判断数据类型,所以只要赋值即可。

 >>> a=1
>>> a
1
 >>> a="python"
>>> a
'python'

  顺便说一下,python的字符串可以单引号,也可以双引号括起来。

 >>> a=3.141592653
>>> a
3.141592653
 >>> a=111
>>> b=6
>>> a*b
666

☞『使用』

  如上所述,变量直接像C++一样用就可以了。

▎输入与输出

☞『输入』

  使用input输入:

 >>> a=input()
2
>>> a
''

  由于默认是字符串,所以返回的是字符串,如果要更换类型,那么我们就强制转换:

 >>> a=int(input())
2
>>> a
2

☞『输出』

  不一样的是输出少了个“f”:

 >>> print("Hello,world!")
Hello,world!

▎列表

  列表可以理解为数组,但是比数组好用、高级的多,天生就是vector。

☞『定义』

  稍微有点不太一样,是用中括号括起来的,但是不用写数据类型和大小,直接用就可以了:

 >>> list=[1,1,4,5,1,4]
>>> list
[1, 1, 4, 5, 1, 4]

  还可以在同一列表上使用不同类型的元素。

 >>> list=[1,2,3.14,"hello"]
>>> list
[1, 2, 3.14, 'hello']

☞『引用』

  和数组一模一样。

 >>> list=[1,2,3.14,"hello"]
>>> list
[1, 2, 3.14, 'hello']
>>> list[1]
2

  也是从0开始编号。

  当然,下标可以是负数,这样就是倒着数的第几个的意思。

 >>> list=[1,2,3,4,5]
>>> list[-1]
5

☞『区间』

  我们可以用“:”来取中间的一段区间。

 >>> list=[1,2,3,4,5]
>>> list[1:3]
[2, 3]

  我们要输出应该是2,3,4,但是为什么只输出了2,3呢?因为这是左闭右开的,也就是说只会显示区间[l,r-1]。

☞『其他』

  列表是支持加到末尾的。

 >>> list1=[1,2,3]
>>> list2=[4,5,6]
>>> list1+=list2
>>> list1
[1, 2, 3, 4, 5, 6]

  还可以跳过一些数:(冒号可以加的更多,其中下标为二的数被省去了)

 >>> list1=[1,2,3,4,5,6]
>>> list1[1:3:2]
[2]

▎if

  python的if和C++十分相似,但是python没有括号,要加冒号,并且严格按照空格来执行(4个空格)

 >>> a=1
>>> if a==1:
... print("YES")
...
YES

  再来看一看elif(else if):

 >>> a=1
>>> b=2
>>> if a==2:
... print(a)
... elif b==2:
... print(b)
...
2

▎for

  python有点不太一样,没有结束条件。

>>> list=[1,2,3,4,5]
>>> for i in list:
... print(list[i])
...
2
3
4
5

  可以看出i是默认从1开始,那么我们尝试从0开始:

 >>> list=[1,2,3,4,5]
>>> for i in range(0,5,1):
... print(list[i])
...
1
2
3
4
5

  其中range是个好东西,其中的三个数分别是初始值,结束值,和每次增加数量。

  注意:python是左闭右开的,所以区间要变成[0,5]。

▎结尾语

  当然,python的命令还有很多,推荐大家到菜鸟教程上学习。

最新文章

  1. MyEclipse10中自动生成Hibernate的实体和xml配置文件
  2. JSTL标签库中<c:choose></c:choose>不能放JSP页面<!-- -->注释
  3. Mac系统默认MAWP配置
  4. C#入门经典第五版之变量的更多内容编码题训练
  5. 配置当前用户使用豆瓣pip源
  6. 在usercontrol中如何使用验证控件CustomValidator 中的客户端验证
  7. AutoCAD 2014 win 32bit破解版
  8. Codeforces Round #328 div2
  9. ubuntu环境下安装Tomcat
  10. HeadFirst SQL 读书摘要
  11. 【FPGA】高斯白噪声的Verilog实现
  12. CSS fixed 定位元素失效的问题
  13. 百度翻译新API C#版在 winform,Asp.Net的小程序
  14. SVN不能解锁,报错:没有匹配的可用锁令牌的解决方法
  15. JS中数组重排序方法
  16. mybatis出现NoSuchMethodException异常
  17. vue分页问题参考 感谢
  18. 将100道计算题输出至txt文件,再读取文件至控制台,在控制台中输入答案并评判对错
  19. java Arrays工具
  20. Spring依赖注入原理分析

热门文章

  1. 关于maven的一份小笔记
  2. .Net Core 项目开发中的Errors,Exceptions
  3. vue学习(十九) 生命周期 了解
  4. 使用expect在script中切换到root用户(精华)
  5. django表单使用
  6. 在同一form表单中如何提交两个不同的action
  7. Python os.tcsetpgrp() 方法
  8. PDOStatement::fetchColumn
  9. 2020牛客暑假多校训练营 第二场 H Happy Triangle set 线段树 分类讨论
  10. Springboot中的CommandLineRunner