PAT中文1001 1005(Python 語言)

2021-06-13 03:51:07 字數 2549 閱讀 8928

今日先來無聊就把1001-1005的題目刷了一遍,題目本身沒有難度,主要是為了熟練我最近學的python,好了正文開始。

由於第一題是直接在文字框裡敲**所以沒儲存下來,而且也不難,就不貼**了

1002

很簡單只需要乙個陣列即可,主要是ord()函式的使用

chinese = ['ling','yi','er','san','si','wu','liu','qi','ba','jiu']

a = raw_input()

s = 0

for i in a:

s += ord(i) - 48

cs = str(s)

for i in cs:

print(chinese[ord(i)-48]),

1003這道題目難度主要在能否真正理解字串內部的關係,主要關係分析如下:

1. pt中必須要有a

2. 而且a的數量就剛好是  p之前的a的數量與t之後的a的數量的倍數關係

3. 無其他多餘字元這個很明顯

n = input()

for i in range(n):

flagp = -1

flagt = -1

isright = true;

s = raw_input()

for j in range(len(s)):

if s[j] == 'p':

if flagp == -1:

flagp = j

else:

isright = false

break;

elif s[j] == 't':

if flagt == -1:

flagt = j

else:

isright = false

break;

elif s[j] != 'a':

isright = false

break

if isright == false:

print('no')

else:

if flagt < flagp+2 :

print('no')

elif len(s)-flagt-1 != (flagt-flagp-1)*flagp:

print('no')

else:

print('yes')

1004很簡單,讀入,比較,記錄即可

import string #注意

n = input()

hstuname = ''

lstuname = ''

hstuid = ''

lstuid = ''

hs = -1

ls = 101

for i in range(n):

s = map(str,raw_input().split())

temp = string.atoi(s[2],10) #字串轉數字

if temp > hs:

hs = temp

hstuname = s[0]

hstuid = s[1]

if temp < ls:

ls = temp

lstuname = s[0]

lstuid = s[1]

print "%s %s\n%s %s" % (hstuname,hstuid,lstuname,lstuid)

1005第一題的進化,具體看**,把每個資料都先認為是所需的結果,然後一旦後面有出現,則刪除

n = input()

nums = set() #中間產生的資料

outer = set() #輸出結果儲存

x = map(int,raw_input().split())

for i in x:

outer.add(i)

while i != 1:

if i in nums:

if i in outer:

outer.remove(i)

break

else:

nums.add(i)

if i % 2 == 0:

i /= 2

else:

i = (i*3+1)/2

s = [i for i in outer]

s.sort(reverse=true) #逆序排序

for i in s:

print(i),

我的第一篇部落格就到此結束,歡迎提出意見,本人也是才學python不久,做上面的題目也是為了練手而已

最後貼上桌布一張 也是我正在用的桌面桌布

PAT乙級 陣列元素迴圈右移問題(Python)

乙個陣列a中存有n n 0 個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向右移m m 0 個位置,即將a中的資料由 a0a1 an 1 變換為 an m an 1 a0 a1 an m 1 最後m個數迴圈移至最前面的m個位置 如果需要考慮程式移動資料的次數盡量少,要如何設計移動的方法?輸入格...

NLP實戰 基於列舉實現中文分詞(python)

邏輯 例子 我們經常有意見分歧 詞典 我們 經常 有 有意見 意見 分歧 列舉滿足詞典的所有可能情況 我們 經常 有 意見 分歧 我們 經常 有意見 分歧 實現所需的資料需求 給定詞典 我們 學習 人工 智慧型 人工智慧 未來 是 另外我們給定unigram概率 p 我們 0.25,p 學習 0.1...

PAT學習 乙級(中文) 1002

讀入乙個正整數 n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。1.讀取乙個正整數,計算其各位數字之和,則需用字串形式來表示正整數n。2.計算各位數字之和,需要將輸入的字串每位轉化為數字,進行相加。3.用漢語拼音寫出和的每一位數字,則表明每乙個數字都需對應乙個漢語字串,則可用結構體來表示。4....