日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python竞赛_浅谈Python在信息学竞赛中的运用及Python的基本用法

發(fā)布時間:2025/3/20 python 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python竞赛_浅谈Python在信息学竞赛中的运用及Python的基本用法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

淺談Python在信息學(xué)競賽中的運用及Python的基本用法

前言

眾所周知,Python是一種非常實用的語言。但是由于其運算時的低效和解釋型編譯,在信息學(xué)競賽中并不用于完成算法程序。但正如LRJ在《算法競賽入門經(jīng)典-訓(xùn)練指南》中所說的一樣,如果會用Python,在進行一些小程序的編寫,如數(shù)據(jù)生成器時將會非常方便,它的語法決定了其簡約性。本文主要介紹一下簡單的Python用法,不會深入。

Python的安裝和實用

Linux(以Ubuntu系統(tǒng)為例)

一般的Linux都自帶了Python,在命令行中輸入Python即可進入

如果沒有出現(xiàn)上圖的文字,可以使用下面的安裝方法:

sudo apt-get install python2.7

sudo apt-get install python3.4

…………

Windows系統(tǒng)

(筆者目前在Ubuntu系統(tǒng)上,等有時間上Windows再補)

兩種使用Python的方法

直接在命令行中寫

因為Python是解釋型編譯,所以可以一行一行地在命令行中寫。這在初學(xué)時用來測試某個語句很實用。比如下面這個例子:

在>>>的后面輸入print "yyb love lrh",這條語句的作用是輸出一個字符串,然后我們就可以在后面看到結(jié)果了。確實輸出了一個字符串(不要在意內(nèi)容)

文件

我們把Python代碼存在文件中,通常以.py結(jié)尾。比如下面這個例子

我們在一個try.py中輸入下面的代碼

print "hello world!"

然后在命令行中編譯python 文件名

我們發(fā)現(xiàn)其正確的輸出了。

Python的基本語法

下面來介紹一些Python的基本語法

注釋

Python中的注釋分單行注釋和多行注釋

print "Hello world" #這是一個單行注釋

'''

這是多行注釋

是多行注釋

多行注釋

行注釋

注釋

'''

變量及類型

Python的變量聲明不需要指定類型

用=來給變量賦值,用法與C++一致。比如

yyb=141905 #這是一個整數(shù)

lrh=141936.0 #這是一個實數(shù)

str="This is a apple.I like apples.Apples are good for our health." #這是一個字符串

Python的字符串可以像字符數(shù)組一樣使用(就像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的列表可以看做是一個存下任何數(shù)據(jù)類型(可以混用!)的數(shù)組,比如

List=['%',19260817,'frog',666.6]

#調(diào)用

print List[0]

print List[2]

Python的字典可以看做是一個映射(類似于C++STL中的map),同樣可以混著用

Map={'name':'yyb','weight':'---','height':3.6}

#調(diào)用的時候可以

print Map['name']

print Map['yyb']

以上就是Python常用的幾種數(shù)據(jù)類型。

另:Python的數(shù)類型是非常大的,不需要手寫高精度

數(shù)據(jù)類型轉(zhuǎn)換(常見)

函數(shù)

轉(zhuǎn)換類型

int(a)

轉(zhuǎn)換成整數(shù)

long(a)

轉(zhuǎn)換成長整數(shù)

str(n)

轉(zhuǎn)換成字符串

標(biāo)準(zhǔn)輸入和輸出

使用print輸出。可以是任意類型(列表和字典都可以哦)

print 123

print '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中執(zhí)行多個操作,要這樣寫

if a==b:

print a+b

print b+a

print a**b

while循環(huán)

與if的語法非常類似

i=1

while i<100:

i=i+1

隨機數(shù)

數(shù)據(jù)生成器中最重要的就是隨機數(shù)啦,一般來說我會這么寫

import random

a=int(random.uniform(1,100)) #這里是生成[1,100]的隨機整數(shù)

#如果不加int強制轉(zhuǎn)換,將會生成隨機小數(shù)

一般而言,使用Python的好處就是不要像C++一樣指定隨機數(shù)種子,一般取系統(tǒng)時間。而在隨機生成數(shù)據(jù)對拍時1s內(nèi)隨機數(shù)種子不會變,這樣會導(dǎo)致生成大量重復(fù)數(shù)據(jù)。

文件操作

open用來打開文件

比如下面這個例子

fin=open("read.txt","r") #打開一個文件讀入

fout=open("output.txt","w") #打開一個文件寫出

str=fin.read(10) #從read.txt中讀入長度為10的字符串

fout.write(str) #輸出str到output.txt中

# 注意輸入輸出都是字符串,所以如果要輸出一個整數(shù)要采用這種方式

a=100

fout.wrote(str(a))

fin.close()

fout.close()

進階內(nèi)容

以上就是在競賽時常用的Python語法和技巧。但實際操作時難免會碰到其他問題,更多內(nèi)容可以參考,你會更多地看到Python的方便之處

http://www.runoob.com/python/python-tutorial.html

另外需要注意的是,因為Python運行比較慢,如果要對拍的話,盡量不要寫Python版的。筆者一般只用Python寫數(shù)據(jù)生成器和簡單的小程序。

本人初學(xué)Python,如果還有錯誤,請諸位讀者大佬指出,感激不盡。

PS:后期可能會增加一些內(nèi)容,有任何建議也可以在評論給出,謝謝

總結(jié)

以上是生活随笔為你收集整理的python竞赛_浅谈Python在信息学竞赛中的运用及Python的基本用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。