記錄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號點的最短路。樣例...