亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python在信息學(xué)競賽中的運(yùn)用及Python的基本用法(詳解)

系統(tǒng) 1967 0

前言

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

Python的安裝和實(shí)用

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

一般的Linux都自帶了Python,在命令行中輸入Python即可進(jìn)入
Python在信息學(xué)競賽中的運(yùn)用及Python的基本用法(詳解)_第1張圖片

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

            
sudo apt-get install python2.7 
sudo apt-get install python3.4
…………
          

Windows系統(tǒng)

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

兩種使用Python的方法

直接在命令行中寫

因?yàn)镻ython是解釋型編譯,所以可以一行一行地在命令行中寫。這在初學(xué)時(shí)用來測試某個(gè)語句很實(shí)用。比如下面這個(gè)例子:
Python在信息學(xué)競賽中的運(yùn)用及Python的基本用法(詳解)_第2張圖片
>>> 的后面輸入 print "yyb love lrh" ,這條語句的作用是輸出一個(gè)字符串,然后我們就可以在后面看到結(jié)果了。確實(shí)輸出了一個(gè)字符串(不要在意內(nèi)容)

文件

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

            
              
                
                  
                    print
                  
                  
                    "hello world!"
                  
                
              
            
          

然后在命令行中編譯 python 文件名
Python在信息學(xué)競賽中的運(yùn)用及Python的基本用法(詳解)_第3張圖片
我們發(fā)現(xiàn)其正確的輸出了。

Python的基本語法

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

注釋

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

            
print "Hello world" #這是一個(gè)單行注釋
'''
這是多行注釋
是多行注釋
多行注釋
行注釋
注釋
釋
。
'''
          
變量及類型

Python的變量聲明不需要指定類型
用=來給變量賦值,用法與C++一致。比如

            
yyb=141905 #這是一個(gè)整數(shù)
lrh=141936.0 #這是一個(gè)實(shí)數(shù)
str="This is a apple.I like apples.Apples are good for our health." #這是一個(gè)字符串


          

Python的字符串可以像字符數(shù)組一樣使用(就像C++一樣)比如

            
str="This is a apple.I like apples.Apples are good for our health."
print str[0] #輸出第一個(gè)字符
print str[2:] #輸出從第三個(gè)字符開始的字符串
print str[1:3] #輸出從第二個(gè)到第三個(gè)的字符串,注意是左開右閉


          

Python的列表可以看做是一個(gè)存下任何數(shù)據(jù)類型(可以混用?。┑臄?shù)組,比如

            
List=['%',19260817,'frog',666.6]
#調(diào)用
print List[0]
print List[2]


          

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

            
Map={'name':'yyb','weight':'---','height':3.6}
#調(diào)用的時(shí)候可以
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:"
                
                )
              
            
          

運(yùn)算符

+ , - , × , / 與其意義一致
** 表示冪, a**b 表示 \(a^b\)
比較運(yùn)算符(如 == , != , <> )與C++語言一致
位運(yùn)算(如 & , | . ~ )與C++語言一致

條件語句

即if,基本語法如下:

            
if a==b:
 print a+b

          

注意if后面的冒號(hào),并且注意,Python是以縮進(jìn)來判斷代碼塊的,也就是說如果要在if中執(zhí)行多個(gè)操作,要這樣寫

            
if a==b:
 print a+b
 print b+a
 print a**b

          

while循環(huán)與if的語法非常類似

            
i=1
while i<100:
 i=i+1
          

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

            
import random
a=int(random.uniform(1,100)) #這里是生成[1,100]的隨機(jī)整數(shù)
#如果不加int強(qiáng)制轉(zhuǎn)換,將會(huì)生成隨機(jī)小數(shù)
          

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

文件操作

open用來打開文件

比如下面這個(gè)例子

            
fin=open("read.txt","r") #打開一個(gè)文件讀入
fout=open("output.txt","w") #打開一個(gè)文件寫出
str=fin.read(10) #從read.txt中讀入長度為10的字符串
fout.write(str) #輸出str到output.txt中
# 注意輸入輸出都是字符串,所以如果要輸出一個(gè)整數(shù)要采用這種方式
a=100
fout.wrote(str(a))
fin.close()
fout.close()
          

進(jìn)階內(nèi)容

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

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

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

以上這篇Python在信息學(xué)競賽中的運(yùn)用及Python的基本用法(詳解)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦?。?!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: ass最极品女人下部pic | 中文字幕在亚洲第一在线 | 日韩在线2020专区 | 亚洲精品综合一二三区在线 | 国产免费一级高清淫日本片 | 在线国产福利 | 亚洲第一综合色 | 亚洲 欧美 另类 天天更新影院 | 久久精品亚洲综合一品 | 在线不卡一区 | 性欧美videos高清喷水 | 欧美夜夜 | 99热在线精品播放 | 日韩一级视频免费观看 | 狠狠色婷婷综合天天久久丁香 | 国产1769一七六九视频在线 | 一级做a毛片免费视频 | 公主恋人ova | 国产欧美另类久久久精品免费 | 特级无码a级毛片特黄 | 婷婷五月色综合香五月 | 亚洲五月综合网色九月色 | 亚洲国产人成在线观看69网站 | a级精品九九九大片免费看 a级毛片高清免费视频 | 国内精品视频成人一区二区 | xxxxxx国产精品视频 | 加勒比精品久久一区二区三区 | 天天摸天天舔天天操 | 免费一级在线 | 国产精品亚洲综合一区在线观看 | 久久99国产一区二区三区 | 国产精品日本一区二区在线播放 | 亚洲一区二区三 | 九九视频免费看 | 在线观看国产一区亚洲bd | 色爱区综合激情五月综合色 | 欧美成人四级hd版 | 色老头在线观看精品 | 国产日韩欧美在线观看不卡 | 久久99精品久久久久久 | 女人大毛片一级毛片一 |