藍橋杯 Python演算法 要點一

2021-10-05 10:57:57 字數 2259 閱讀 1713

記錄python演算法練習時,以前學python基礎沒注意到的點

下面記錄演算法題常見的輸入

一行多個空格隔開的輸入

#輸入 13 12(中間由空格隔開的輸入資料)

a,b =

map(

int,

input()

.split(

))

輸入二維陣列

list1 =[[

0for j in

range

(m)]

for i in

range

(n)]

#n行m列的矩陣,用零填充

四捨五入round(x,四捨五入位數)

如果不指定位數,預設保留到整數。

round()對浮點數的取捨遵循的是四捨六入五平分,當遇到 .5 時如果要取捨的位數前的小數是奇數,則直接捨棄,如果是偶數,則向上取捨。

math.ceil(2.3):向上取整

math.floor(2.3):向下取整

ascii碼的轉換

ord( )chr( )

ord

('a'

)#65

chr(65)

#a

將數字的各位變成列表
>>

>

list

(map

(int

,str

(1234))

)[1,

2,3,

4]

list/str[::-1]進行顛倒

進製轉換

bin

(num)

#十進位制轉二進位制 '0b11'

int(num)

#任何進製轉十進位制

oct(num)

#十進位制轉八進位制 '0o14'

hex(num)

#十進位制轉十六進製制 '0xf'

#int("",16)  「 」字串內的是16進製制

>>

>

int(

"0xf",16

)15#format(num,'x')以16進製制輸出 'b'以二進位制

>>

>

format(15

,'x'

)'f'

排序

list.sort( ):直接改變list列表的內容

sorted(list):不改變原列表的內容,而是根據乙個可迭代物件建立乙個新的列表

字串小寫轉大寫:

str1.upper()

大寫轉小寫:

str1.lower()深拷貝

copy.deepcopy(s)

import copys=[

]s1 = copy.deepcopy(s)

右對齊填充指定長度,預設空格
str

.rjust(width[

, fillchar]

)

保留n位輸出
#保留7位小數輸出

print

("%.7f"

%s)

不換行輸出、空格輸出
print

(ans,end="")

#無換行無空格

print

(ans,end=

" ")

#空格print

(ans)

#自動換行

格式輸出

輸出日期格式:

print

("{}:{}:{}"

.format

(h,m,s)

)

藍橋杯演算法訓練(一)

1.區間k大數查詢 問題描述 給定乙個序列,每次詢問序列中第l個數到第r個數中第k大的數是哪個。輸入格式 第一行包含乙個數n,表示序列長度。第二行包含n個正整數,表示給定的序列。第三個包含乙個正整數m,表示詢問個數。接下來m行,每行三個數l,r,k,表示詢問序列從左往右第l個數到第r個數中,從大往小...

藍橋杯 演算法提高 彩票 Python

時間限制 1.0s 記憶體限制 256.0mb 問題描述 為豐富男生節活動,貴系女生設定彩票 環節,規則如下 1 每張彩票上印有7個各不相同的號碼,且這些號碼的取值範圍為 1,33 2 每次在兌獎前都會公布乙個由七個互不相同的號碼構成的中獎號碼 3 共設定7個獎項,特等獎和一等獎至六等獎。兌獎規則如...

藍橋杯 Python演算法 演算法訓練 最短路

問題描述 給定乙個n個頂點,m條邊的有向圖 其中某些邊權可能為負,但保證沒有負環 請你計算從1號點到其他點的最短路 頂點從1到n編號 輸入格式 第一行兩個整數n,m。接下來的m行,每行有三個整數u,v,l,表示u到v有一條長度為l的邊。輸出格式 共n 1行,第i行表示1號點到i 1號點的最短路。樣例...