培训网站建设方案,电子网站建设基本流程图,协会网站设计方案模板,seo收费低前言#xff1a; {\color{Blue}前言#xff1a;} 前言#xff1a; 本系列题使用的是#xff0c;“PTA中的团体程序设计天梯赛——练习集”的题库#xff0c;难度有L1、L2、L3三个等级#xff0c;分别对应团体程序设计天梯赛的三个难度。更新取决于题目的难度#xff0c;… 前言 {\color{Blue}前言} 前言 本系列题使用的是“PTA中的团体程序设计天梯赛——练习集”的题库难度有L1、L2、L3三个等级分别对应团体程序设计天梯赛的三个难度。更新取决于题目的难度和学校的事情但尽可能保证每日更新若没更新次日补上。虽然可以做但是还是没前几天做的那道题难我的方法可能不是最简单的如有什么好的建议欢迎各位CSDN的朋友告诉我 题目
一群人坐在一起每人猜一个 100 以内的数谁的数字最接近大家平均数的一半就赢。本题就要求你找出其中的赢家
输入格式 输入在第一行给出一个正整数 N ≤ 1 0 4 N≤10^4 N≤104。随后 N 行每行给出一个玩家的名字由不超过8个英文字母组成的字符串和其猜的正整数 ≤ 100 ≤ 100 ≤100。
输出格式 在一行中顺序输出大家平均数的一半只输出整数部分、赢家的名字其间以空格分隔。题目保证赢家是唯一的。
输入样例
7
Bob 35
Amy 28
James 98
Alice 11
Jack 45
Smith 33
Chris 62输出样例
22 Amy题解
N int(input()) # 输入玩家的数量players [] # 用于存储玩家信息的列表# 输入玩家的名字和猜的数字并将其存储在列表中
for _ in range(N):name, number input().split()players.append((name, int(number)))# 计算所有玩家猜数字的总和
total sum(number for _, number in players)# 计算大家平均数的一半只取整数部分
average_half total // (2 * N)# 初始化赢家和最小差值
winner
min_difference float(inf)# 遍历每个玩家计算其猜数字与平均数一半的差值并更新赢家和最小差值
for name, number in players:difference abs(number - average_half)if difference min_difference:winner namemin_difference difference# 输出结果
print(f{average_half} {winner})