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
a=list(map(int,input().split()[1:]))
a1=0
a2=0
k=1
a3=0
sum=0
count=0
b=[]
l=0
age,m=0,0
for i in range(len(a)):
    if a[i]%5==0 and a[i]%2==0:
        a1+=a[i]
    elif a[i]%5==1:
        a2+=a[i]*k
        k=-k
        l+=1
    elif a[i]%5==2:
        a3+=1
    elif a[i]%5==3:
        sum+=a[i]
        count+=1
    else:
        if a[i]%5:
            b.append(a[i])
if count:
    age=round(sum/count,1)
if b:
    m=max(b)
def printf(t):
    if t:
        print(t,end = " ")
    else:
        print(‘N‘,end = " ")
printf(a1)
if l:
    print(a2,end = " ")
else:
    print(‘N‘,end = " ")
printf(a3)
printf(age)
if m:
    print(m)
else:
    print(‘N‘)

这个题目倒是也不难,细心按照要求分好类就OK了,不过,如果A4这类数字如果没有,那直接用除法计算平均值就会出现除零异常,这个测试点就通不过,所以,做除法之前,需要先判断一下有没有这类数字;还有如果用Python的max()函数去求一个序列中的最大值,那么这个序列不能为空,所以,也需要做一个判断,其他就没什么了。

还有一个小插曲,我是在牛客网刷题的,然后我发现他们的一个测试点好像有问题:

根据题目的要求,如果某一类数字不存在,则相应输出"N",那对于A2这类数字,就应该它没有,才输出"N",有但是他的和为0(有这么一种情况,因为题目没规定不能输入重复的正整数),就应该输出0,比如这样的简单测试样例:

5 1 1 2 2 2按照题目要求,应该输出:N 0 3 N N 才是正确的,输出:N N 3 N N是错误的,但是我试了一下,好像输出这两种情况都可以AC因为自己是比较菜的,所以害怕自己分析错了,我又去PTA平台试了一下,没想到,我想的竟然是对的,然后我已经向牛客网提交了对这道题目测试点的纠错,挺开心的

原文地址:https://www.cnblogs.com/andrew3/p/12623217.html

时间: 2024-10-12 13:15:40

PAT 数字分类 Python版的相关文章

MNIST手写数字分类simple版(03-2)

simple版本nn模型 训练手写数字处理 import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data #载入数据集 mnist=input_data.read_data_sets("MNIST_data", one_hot=True) #每个批次的大小 batch_size=100 #计算一共有多少批次 n_batch=mnist.train.num_examples // ba

PAT 1012 数字分类 C语言

给定一系列正整数,请按要求对数字进行分类,并输出以下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的待分类的正整数.数字间以空格分隔. 输出格式:

PAT 乙级真题 1002.数字分类

PAT 乙级真题 1002.数字分类 题目描述 给定一系列正整数,请按要求对数字进行分类,并输出以下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的

PAT乙级 1012. 数字分类 (20)

1012. 数字分类 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字: A1 = 能被5整除的数字中所有偶数的和: A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3-n4...: A3 = 被5除后余2的数字的个数: A4 = 被5除后余3的数字的平均数,精确到小数点后1位: A5 = 被5除后余4的数字中最大数

C++·PAT乙级1012.数字分类 (20/20)

/* 1012. 数字分类 (20) 给定一系列正整数,请按要求对数字进行分类,并输出以下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的待分类的

乙级PAT之数字分类(字符串类型的格式化)

/* 数字分类 */ 给定一系列正整数,请按要求对数字进行分类,并输出以下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的待分类的正整数.数字间以

python之simplejson,Python版的简单、 快速、 可扩展 JSON 编码器/解码器

python之simplejson,Python版的简单. 快速. 可扩展 JSON 编码器/解码器 simplejson Python版的简单. 快速. 可扩展 JSON 编码器/解码器 编码基本的 Python 对象层次结构: import simplejson as json print json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}]) print json.dumps("\"foo\bar") print json

编码的秘密(python版)

编码(python版) 最近在学习python的过程中,被不同的编码搞得有点晕,于是看了前人的留下的文档,加上自己的理解,准备写下来,分享给正在为编码苦苦了挣扎的你. 编码的概念 编码就是将信息从一种格式转换成另一种格式,计算机只认识二进制,简单的理解,将我们眼睛看到的文字转换为计算机能够识别的二进制格式视为编码,而二进制以某种编码格式转换为我们能看的文字的过程可以看成是解码.既然计算机只能认识二进制0,1,那么我们用的字母.数字和文字等是怎样和他们对应的呢?那就请继续看吧! python中查看

人脸验证算法Joint Bayesian详解及实现(Python版)

人脸验证算法Joint Bayesian详解及实现(Python版) Tags: JointBayesian DeepLearning Python 本博客仅为作者记录笔记之用,不免有很多细节不对之处. 还望各位看官能够见谅,欢迎批评指正. 博客虽水,然亦博主之苦劳也. 如对代码有兴趣的请移步我的 Github. 如需转载,请附上本文链接,不甚感激!  http://blog.csdn.net/cyh_24/article/details/49059475 Bayesian Face Revis