PAT乙级1012数字分类(python实现)

题目描述

PAT乙级1012数字分类(python实现)_第1张图片

代码实现

number_list = input().split()
number_list.remove(number_list[0])

sum_1, sum_2, sum_4, count_4= 0, 0, 0, 0
record_2 = []
record_3 = []
record_5 = []

for number in number_list:
    tmp_number = int(number)
    if tmp_number%5 == 0 and tmp_number%2 == 0:
        sum_1 = sum_1 + tmp_number
    elif tmp_number%5 == 1:
        record_2.append(tmp_number)
    elif tmp_number%5 == 2:
        record_3.append(tmp_number)
    elif tmp_number%5 == 3:
        sum_4 = sum_4 + tmp_number
        count_4 += 1
    elif tmp_number%5 == 4:
        record_5.append(tmp_number)

result = []
# A1的结果
if sum_1 != 0:
    result_1 = sum_1
else:
    result_1 = 'N'

result.append(result_1)

# A2的结果
if len(record_2) != 0:
    for x in range(len(record_2)):
        sum_2 = sum_2 + (-1)**x*int(record_2[x])
    result_2 = sum_2
else:
    result_2 = 'N'
result.append(result_2)

# A3的结果
if len(record_3) != 0:
    result_3 = len(record_3)
else:
    result_3 = 'N'
result.append(result_3)

# A4的结果
if count_4 !=0 :
    result_4 = round(sum_4/count_4, 1)
else:
    result_4 = 'N'
result.append(result_4)

# A5的结果
if len(record_5) != 0:
    record_5.sort(reverse = True)
    result_5 = record_5[0]
else:
    result_5 = 'N'
result.append(result_5)

print(' '.join(str(i) for i in result))

运行结果

PAT乙级1012数字分类(python实现)_第2张图片

知识点总结

  1. list可以直接使用sort()方法进行排序
  2. 保留小数点后几位可以使用round()函数
  • round()
a=12.34567889
round(a,1)=12.3 保留一位小数
round(a,2)=12.35 保留二位小数
  • decimal 模块
from decimal import Decimal
a=134.5657768
t=Decimal(134.5657768).quantize(Decimal(0.0))
print(t)
  • 输出模式限定小数位数
a=12.34567889
print(“%.1f”%a) 保留一位小数
print(“%.3f”%a) 保留三位小数
print(“%.4f”%a) 保留四位小数

你可能感兴趣的:(Code,and,Code,python,PAT)