前言: {\color{Blue}前言:} 前言:
- 本系列题使用的是,“PTA中的团体程序设计天梯赛——练习集”的题库,难度有L1、L2、L3三个等级,分别对应团体程序设计天梯赛的三个难度。
- 更新取决于题目的难度,和学校的事情,但尽可能保证每日更新,若没更新次日补上。
- 虽然可以做,但是还是没前几天做的那道题难
- 我的方法可能不是最简单的,如有什么好的建议,欢迎各位CSDN的朋友告诉我
题目
一群人坐在一起,每人猜一个 100 以内的数,谁的数字最接近大家平均数的一半就赢。本题就要求你找出其中的赢家
输入格式
输入在第一行给出一个正整数
N
(
≤
1
0
4
)
N(≤10^4 )
N(≤104)。随后 N 行,每行给出一个玩家的名字(由不超过8个英文字母组成的字符串)和其猜的正整数
(
≤
100
)
(≤ 100)
(≤100)。
输出格式:
在一行中顺序输出:大家平均数的一半(只输出整数部分)、赢家的名字,其间以空格分隔。题目保证赢家是唯一的。
输入样例:文章来源:https://www.toymoban.com/news/detail-694045.html
7
Bob 35
Amy 28
James 98
Alice 11
Jack 45
Smith 33
Chris 62
输出样例:文章来源地址https://www.toymoban.com/news/detail-694045.html
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 = name
min_difference = difference
# 输出结果
print(f"{average_half} {winner}")
到了这里,关于L1-056 猜数字(Python实现) 测试点全过的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!