时间:2021-05-22
前言
众所周知,Python是一种非常实用的语言。但是由于其运算时的低效和解释型编译,在信息学竞赛中并不用于完成算法程序。但正如LRJ在《算法竞赛入门经典-训练指南》中所说的一样,如果会用Python,在进行一些小程序的编写,如数据生成器时将会非常方便,它的语法决定了其简约性。本文主要介绍一下简单的Python用法,不会深入。
Python的安装和实用
Linux(以Ubuntu系统为例)
一般的Linux都自带了Python,在命令行中输入Python即可进入
如果没有出现上图的文字,可以使用下面的安装方法:
sudo apt-get install python2.7 sudo apt-get install python3.4…………Windows系统
(笔者目前在Ubuntu系统上,等有时间上Windows再补)
两种使用Python的方法
直接在命令行中写
因为Python是解释型编译,所以可以一行一行地在命令行中写。这在初学时用来测试某个语句很实用。比如下面这个例子:
在>>>的后面输入print "yyb love lrh",这条语句的作用是输出一个字符串,然后我们就可以在后面看到结果了。确实输出了一个字符串(不要在意内容)
文件
我们把Python代码存在文件中,通常以.py结尾。比如下面这个例子
我们在一个try.py中输入下面的代码
然后在命令行中编译python 文件名
我们发现其正确的输出了。
Python的基本语法
下面来介绍一些Python的基本语法
注释
Python中的注释分单行注释和多行注释
print "Hello world" #这是一个单行注释'''这是多行注释是多行注释多行注释行注释注释释。'''变量及类型Python的变量声明不需要指定类型
用=来给变量赋值,用法与C++一致。比如
Python的字符串可以像字符数组一样使用(就像C++一样)比如
str="This is a apple.I like apples.Apples are good for our health."print str[0] #输出第一个字符print str[2:] #输出从第三个字符开始的字符串print str[1:3] #输出从第二个到第三个的字符串,注意是左开右闭Python的列表可以看做是一个存下任何数据类型(可以混用!)的数组,比如
List=['%',19260817,'frog',666.6]#调用print List[0]print List[2]Python的字典可以看做是一个映射(类似于C++STL中的map),同样可以混着用
Map={'name':'yyb','weight':'---','height':3.6}#调用的时候可以print Map['name']print Map['yyb']以上就是Python常用的几种数据类型。
另:Python的数类型是非常大的,不需要手写高精度
数据类型转换(常见) 函数 转换类型 int(a) 转换成整数 long(a) 转换成长整数 str(n) 转换成字符串
标准输入和输出
使用print输出。可以是任意类型(列表和字典都可以哦)
print 123print 'helloworld'print 123.2使用input输入。
number=input("read a int:")运算符
+,-,×,/与其意义一致
**表示幂,a**b表示\(a^b\)
比较运算符(如==,!=,<>)与C++语言一致
位运算(如&,|.~)与C++语言一致
条件语句
即if,基本语法如下:
if a==b: print a+b注意if后面的冒号,并且注意,Python是以缩进来判断代码块的,也就是说如果要在if中执行多个操作,要这样写
if a==b: print a+b print b+a print a**bwhile循环与if的语法非常类似
i=1while i<100: i=i+1随机数数据生成器中最重要的就是随机数啦,一般来说我会这么写
import randoma=int(random.uniform(1,100)) #这里是生成[1,100]的随机整数#如果不加int强制转换,将会生成随机小数一般而言,使用Python的好处就是不要像C++一样指定随机数种子,一般取系统时间。而在随机生成数据对拍时1s内随机数种子不会变,这样会导致生成大量重复数据。
文件操作
open用来打开文件
比如下面这个例子
fin=open("read.txt","r") #打开一个文件读入fout=open("output.txt","w") #打开一个文件写出str=fin.read(10) #从read.txt中读入长度为10的字符串fout.write(str) #输出str到output.txt中# 注意输入输出都是字符串,所以如果要输出一个整数要采用这种方式a=100fout.wrote(str(a))fin.close()fout.close()进阶内容
以上就是在竞赛时常用的Python语法和技巧。但实际操作时难免会碰到其他问题,更多内容可以参考,你会更多地看到Python的方便之处
另外需要注意的是,因为Python运行比较慢,如果要对拍的话,尽量不要写Python版的。笔者一般只用Python写数据生成器和简单的小程序。
本人初学Python,如果还有错误,请诸位读者大佬指出,感激不尽。
以上这篇Python在信息学竞赛中的运用及Python的基本用法(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Python中strisnotcallable问题详解及解决办法问题提出:在Python的代码,在运行过程中,碰到了一个错误信息:python代码:defche
本文实例讲述了Python中文分词工具之结巴分词用法。分享给大家供大家参考,具体如下:结巴分词工具的安装及基本用法,前面的文章《Python结巴中文分词工具使用
在python中enumerate的用法多用于在for循环中得到计数,本文即以实例形式向大家展现python中enumerate的用法。具体如下:enumera
Python操作MySQL详解及实例使用Python进行MySQL的库主要有三个,Python-MySQL(更熟悉的名字可能是MySQLdb),PyMySQL和
本文实例讲述了Python中zip()函数的定义及用法,相信对于Python初学者有一定的借鉴价值。详情如下:一、定义:zip([iterable,...])z