PAT python 刷題備註 trick

2021-10-09 10:30:09 字數 3525 閱讀 8715

三位一節的逗號

print(""

.format

(a))

# >>> "".format(-9999)

# '-9,999'

str

.replace(old, new[

,max])

# max是最大替換次數

傳統方法判斷太慢了,這裡有個用空間換取時間的解法:如果乙個數p是素數,那麼2p,3p到n*p(n * p < n+1)都是合數。對於合數,應該跳過。

我跪在倒數第二個測試點了。

注意這個「再」字。如果是第n次錯誤,除了輸出密碼錯誤外還要輸出一行賬戶鎖定。

此外,注意不要寫成 while p = input() and p != 『#』

info =

input()

.split(

)n =

int(info[1]

)count =

0p =

input()

while p !=

'#':

if p == info[0]

:print

("welcome in"

) exit(0)

else

:print

("wrong password: "

+ p)

if count == n-1:

print

("account locked"

) exit(0)

count +=

1 p =

input

()

不要寫list * num這樣啊!!!這是複製引用!!!!

>>

> matrix =[[

'-1'

]*5] * 5

>>

> matrix[[

'-1', '-1', '-1', '-1', '-1'

], [

'-1', '-1', '-1', '-1', '-1'

], [

'-1', '-1', '-1', '-1', '-1'

], [

'-1', '-1', '-1', '-1', '-1'

], [

'-1', '-1', '-1', '-1', '-1']]

>>

> matrix[0]

[1]=

'c'>>

> matrix[[

'-1', 'c', '-1', '-1', '-1'

], [

'-1', 'c', '-1', '-1', '-1'

], [

'-1', 'c', '-1', '-1', '-1'

], [

'-1', 'c', '-1', '-1', '-1'

], [

'-1', 'c', '-1', '-1', '-1']]

>>

> width=3

>>

> matrix =[[

'-1'

for i in range(width)

]for j in range(width)

]>>

> matrix[[

'-1', '-1', '-1'

], [

'-1', '-1', '-1'

], [

'-1', '-1', '-1']]

>>

> matrix[0]

[1]=

'c'>>

> matrix[[

'-1', 'c', '-1'

], [

'-1', '-1', '-1'

], [

'-1', '-1', '-1'

]]

「輸出順序為按照總評分數(四捨五入精確到整數)遞減。若有並列,則按學號遞增」

這裡涉及到字典排序問題,要求是按value降序,如果值相同,按key公升序排列。

ans =

sorted

(total.items(

),key=

lambda i:

(-i[1]

, i[0]

))

本題要求計算 a/b,其中 a 是不超過 1000 位的正整數,b 是 1 位正整數。你需要輸出商數 q 和餘數 r,使得 a=b×q+r 成立。

直接用 // 和 % 就可以了。python3可以處理這麼大的數字。
該**要求使用者設定的密碼必須由不少於6個字元組成,並且只能有英文本母、數字和小數點 .,還必須既有字母也有數字。

對每個使用者的密碼,在一行中輸出系統反饋資訊,分以下5種:

要點:先將 . 替換掉,然後用is***判斷。

n =

int(

input()

)for i in

range

(n):

info =

input()

len_ =

len(info)

if len_ <6:

print

("your password is tai duan le."

)continue

a = info.replace(

".",'')

if a.isdigit():

print

("your password needs zi mu."

)continue

if a.isalpha():

print

("your password needs shu zi."

)continue

if a.isalnum():

print

("your password is wan mei."

)continue

else

:print

("your password is tai luan le."

)continue

刷題刷題 京東

題目 二維陣列為三列多行是陣列,每行存有三個數字,分別用ai,bi,ci標示 當某行的三個數字全都小於另一行的三個數字時,即 ai思路 對於第一列反向排序,保證第一列數從大到小排序。之後用後面的行依次與前面的行進行對比,將無效行的價值置為零。include include includelong l...

刷題小分隊的刷題入口

我們以後的練習,我先大概拉好,到時候我直接從這裡拉題發到群裡,不停的補充 我們或許也可以去打cf或者去牛客網打練習賽,但是還是感覺個人根據自己的情況練習 我們把基礎知識點重新過完的時候,可以先用小白月賽和牛客網寒假集訓檢驗下,然後我在安排一些水題和難題 時間不多了 nyoj入口 kuangbin專題...

python刷題寶 高效刷題貼

持續更 此貼只記錄需要掌握的知識點,不貼 jz1 旋轉陣列中的最小元素 根據旋轉陣列的性質,問題可以轉化為對兩個順序陣列分界點的尋找 暴力法 1.從下標為0的元素開始遍歷 2.每次進行比較,如果當前元素比相鄰的下乙個元素小,則對應的下乙個元素為最小值 一般情況 3.如果查詢到最後乙個元素都沒有出現2...