1. 程式人生 > >(PAT乙級)數字分類(Python)

(PAT乙級)數字分類(Python)

給定一系列正整數,請按要求對數字進行分類,並輸出以下5個數字:

A1 = 能被5整除的數字中所有偶數的和;A2 = 將被5除後餘1的數字按給出順序進行交錯求和,即計算n1-n2+n3-n4...;A3 = 被5除後餘2的數字的個數;A4 = 被5除後餘3的數字的平均數,精確到小數點後1位;A5 = 被5除後餘4的數字中最大數字。

輸入格式:

每個輸入包含1個測試用例。每個測試用例先給出一個不超過1000的正整數N,隨後給出N個不超過1000的待分類的正整數。數字間以空格分隔。

輸出格式:

對給定的N個正整數,按題目要求計算A1~A5並在一行中順序輸出。數字間以空格分隔,但行末不得有多餘空格。

若其中某一類數字不存在,則在相應位置輸出“N”。

輸入樣例1:
13 1 2 3 4 5 6 7 8 9 10 20 16 18
輸出樣例1:
30 11 2 9.7 9
輸入樣例2:
8 1 2 4 5 6 7 9 16
輸出樣例2:

N 11 2 N 9

這題的細節錯誤可能在A2的判斷上,可能會存在交錯求和後A2=0的結果,這樣A2也是存在的,所以需要通過被5除後餘1的數字的個數來判斷A2是否存在。

n = input().split()

counter = 0
counter2 = 0
counter3 = 0
a = 0
x = 0
sumer = 0
maxtemp = 0
for i in n[1:]:
    if  int(i)%5 == 0:
        if int(i) % 2 == 0:
            counter = counter + int(i)
    elif int(i)%5 ==1:
        counter2 = counter2 + ((-1)**x)*int(i)
        x = x + 1
    elif int(i)%5 == 2:
        sumer = sumer + 1
    elif int(i)%5 == 3:
        counter3 = counter3 + int(i)
        a = a + 1
    elif int(i)%5 == 4:
        if int(i) > maxtemp:
            maxtemp = int(i)
if counter:
    print(counter,end=' ')
else:
    print('N',end= ' ')
if x:#如果用counter2作為判斷條件,存在有counter2的計算結果為0,但counter2是存在的,所以要用x作為條件
    print(counter2,end=' ')
else:
    print('N',end= ' ')
if sumer:
    print(sumer,end=' ')
else:
    print('N',end= ' ')
if counter3:
    print(round((counter3/a),1),end=' ')#round函式用於精確到小數點後幾位
else:
    print('N',end= ' ')
if maxtemp:
    print(maxtemp)
else:
    print('N')

相關推薦

(PAT乙級)數字分類Python

給定一系列正整數,請按要求對數字進行分類,並輸出以下5個數字:A1 = 能被5整除的數字中所有偶數的和;A2 = 將被5除後餘1的數字按給出順序進行交錯求和,即計算n1-n2+n3-n4...;A3 = 被5除後餘2的數字的個數;A4 = 被5除後餘3的數字的平均數,精確到小

(PAT乙級)朋友數Python

如果兩個整數各位數字的和是一樣的,則被稱為是“朋友數”,而那個公共的和就是它們的“朋友證號”。例如123和51就是朋友數,因為1+2+3 = 5+1 = 6,而6就是它們的朋友證號。給定一些整數,要求你統計一下它們中有多少個不同的朋友證號。注意:我們預設一個整數自己是自己的朋

(PAT乙級) 輸出PATestPython

給定一個長度不超過10000的、僅由英文字母構成的字串。請將字元重新調整順序,按“PATestPATest....”這樣的順序輸出,並忽略其它字元。當然,六種字元的個數不一定是一樣多的,若某種字元已經輸出完,則餘下的字元仍按PATest的順序列印,直到所有字元都被輸出。輸入格式:輸入在一行中給出一個長度不超過

(PAT乙級)考試座位號Python

每個PAT考生在參加考試時都會被分配兩個座位號,一個是試機座位,一個是考試座位。正常情況下,考生在入場時先得到試機座位號碼,入座進入試機狀態後,系統會顯示該考生的考試座位號碼,考試時考生需要換到考試座位就座。但有些考生遲到了,試機已經結束,他們只能拿著領到的試機座位號碼求助於

(PAT乙級) 個位數統計Python

給定一個k位整數N = dk-1*10k-1 + ... + d1*101 + d0 (0<=di<=9, i=0,...,k-1, dk-1>0),請編寫程式統計每種不同的個位數字出現的次數。例如:給定N = 100311,則有2個0,3個1,和1個3。輸

(PAT乙級)字元統計Python

請編寫程式,找出一段給定文字中出現最頻繁的那個英文字母。輸入格式:輸入在一行中給出一個長度不超過1000的字串。字串由ASCII碼錶中任意可見字元及空格組成,至少包含1個英文字母,以回車結束(回車不算在內)。輸出格式:在一行中輸出出現頻率最高的那個英文字母及其出現次數,其間以

BP算法實例—鳶尾花的分類Python

weight 1.0 pandas update dom 零矩陣 shuffle == 不同 首先了解下Iris鳶尾花數據集: Iris數據集(https://en.wikipedia.org/wiki/Iris_flower_data_set)是常用的分類實

pytorch綜合多個弱分類器,投票機制,進行手寫數字分類boosting

首先,這個文章的出發點就是讓一個網路一個圖片進行預測,在直觀上不如多個網路對一個圖片進行預測之後再少數服從多數效果好。 也就是對於任何一個分類任務,訓練n個弱分類器,也就是分類準確度只比隨機猜好一點,那麼當n足夠大的時候,通過投票機制,也能提升很大的準確度:畢竟每個網路都分錯同一個資料的可能

自己實現knn,進行圖片分類python

資料集下載 這是斯坦福課程的作業,根據大綱裡面assignment1內的提示,下載好實驗所需要的資料集。 目錄 前言: 程式碼主體: part1 資料的匯入以及預處理 part2 knn訓練以及預測 具體實現 3.1 資料匯入 3.2 計算dist(三種實現,由易

PAT乙級試題整理——牛客網20分真題整理

牛客網上 共有真題六套,其中每套題有15分題一道,20分題目3道,25分題目1道,共計100分。考試時要求考生在180分鐘內完成,依照陳越姥姥的說法,要在30分鐘內拿下乙級20分題目,所以我們這篇主要想辦法怎麼儘量縮短自己的做題時間。我之前只學過Java和C#,沒有學過C語言,粗

PAT乙級試題整理——牛客網15分真題整理

牛客網上 共有真題六套,其中每套題有15分題一道,20分題目3道,25分題目1道,共計100分。考試時要求考生在180分鐘內完成。我之前只學過Java和C#,沒有學過C語言,粗淺學習了一下C語言基本語法,想借刷題這個機會好好體會一下面向過程的設計語言的精髓。這裡計劃: 1.先說題

KNN實現圖片的分類python

一 . K-近鄰演算法(KNN)概述      最簡單最初級的分類器是將全部的訓練資料所對應的類別都記錄下來,當測試物件的屬性和某個訓練物件的屬性完全匹配時,便可以對其進行分類。但是怎麼可能所有測試物件都會找到與之完全匹配的訓練物件呢,其次就是存在一個測試物件同時與多個訓練

PAT 乙級 採花生 模擬

---------------------------------處女blog------------------------逃… 題目描述     魯賓遜先生有一隻寵物猴,名叫多多。這天,他們兩個正沿著鄉間小路散步,突然發現路邊的告示牌上貼著一張小小的紙條:“歡迎免費品嚐

利用樸素貝葉斯分類算法對搜狐新聞進行分類python

cno new 資產 jieba分詞 寶寶 .cn 官網 info targe 數據來源 https://www.sogou.com/labs/resource/cs.php介紹:來自搜狐新聞2012年6月—7月期間國內,國際,體育,社會,娛樂等18個頻道的新聞數據,提供

PAT乙級真題及訓練集 PAT (Basic Level) Practise 中文1012. 數字分類

給定一系列正整數,請按要求對數字進行分類,並輸出以下5個數字:A1 = 能被5整除的數字中所有偶數的和;A2 = 將被5除後餘1的數字按給出順序進行交錯求和,即計算n1-n2+n3-n4...;A3 = 被5除後餘2的數字的個數;A4 = 被5除後餘3的數字的平均數,精確到小數點後1位;

PAT】B1012 數字分類20 分

數字 include sca pat ont 輸入 pri amp print #include<stdio.h> int arr[1005]; int main(){ int N,yu,A1,A2,flag2=1,A3,A4,A4a,A5,A5a=0;

PAT (Basic Level) Practice 中文1012 數字分類20 分C語言

1012 數字分類(20 分) 給定一系列正整數,請按要求對數字進行分類,並輸出以下 5 個數字: A​1​​ = 能被 5 整除的數字中所有偶數的和; A​2​​ = 將被 5 除後餘 1 的數字按給出順序進行交錯求和,即計算 n​1​​−n​2​​+n​3​​−n​

(PAT乙級)一元多項式求導Python

設計函式求一元多項式的導數。(注:xn(n為整數)的一階導數為n*xn-1。)輸入格式:以指數遞降方式輸入多項式非零項係數和指數(絕對值均為不超過1000的整數)。數字間以空格分隔。輸出格式:以與輸入相同的格式輸出導數多項式非零項的係數和指數。數字間以空格分隔,但結尾不能有多

PAT (Basic Level) Practice 中文 1012 數字分類 20 分 C++

1012 數字分類 (20 分) 給定一系列正整數,請按要求對數字進行分類,並輸出以下 5 個數字: A1 = 能被 5 整除的數字中所有偶數的和; A​2 = 將被 5 除後餘 1 的數字按給出順序進行交錯求和,即計算 n1−n2+n3−n4⋯; A3 = 被 5 除後餘 2

(PAT乙級)在霍格沃茨找零錢Python

如果你是哈利·波特迷,你會知道魔法世界有它自己的貨幣系統 —— 就如海格告訴哈利的:“十七個銀西可(Sickle)兌一個加隆(Galleon),二十九個納特(Knut)兌一個西可,很容易。”現在,給定哈利應付的價錢P和他實付的錢A,你的任務是寫一個程式來計算他應該被找的零錢。