当前位置: 首页 > news >正文

L1-056 猜数字(Python实现) 测试点全过

前言: {\color{Blue}前言:} 前言:

  • 本系列题使用的是,“PTA中的团体程序设计天梯赛——练习集”的题库,难度有L1、L2、L3三个等级,分别对应团体程序设计天梯赛的三个难度。
  • 更新取决于题目的难度,和学校的事情,但尽可能保证每日更新,若没更新次日补上。
  • 虽然可以做,但是还是没前几天做的那道题难
  • 我的方法可能不是最简单的,如有什么好的建议,欢迎各位CSDN的朋友告诉我

题目

一群人坐在一起,每人猜一个 100 以内的数,谁的数字最接近大家平均数的一半就赢。本题就要求你找出其中的赢家

输入格式
输入在第一行给出一个正整数 N ( ≤ 1 0 4 ) N(≤10^4 ) N104。随后 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}")
http://www.lryc.cn/news/153491.html

相关文章:

  • 第 361 场 LeetCode 周赛题解
  • 07-架构2023版-centos+docker部署Canal 实现多端数据同步
  • 过滤器的应用-Filter
  • leetcode236. 二叉树的最近公共祖先(java)
  • spacy安装旧版本en_core_web_sm的解决方案
  • Qt +VTK+Cmake 编译和环境配置(第一篇 采坑)
  • 2023开学礼《乡村振兴战略下传统村落文化旅游设计》许少辉八一新书南宁师范大学图书馆
  • C++/C# : C#和C++的不同
  • PCL-直通滤波器原理及实验
  • 数学建模:相关性分析
  • thinkPHP项目搭建
  • C++中几种处理函数返回值的方式
  • 跟我学c++中级篇——c++中的Abominable Function Types
  • 计算机毕设之基于python+django+mysql的影片数据爬取与数据分析(包含源码+文档+部署教程)
  • slog正式版来了:Go日志记录新选择!
  • 华为静态路由配置实验(超详细讲解+详细命令行)
  • axios源码学习
  • 【SpingBoot】详细介绍SpringBoot项目中前端请求到数据库再返回前端的完整数据流转,并用代码实现
  • kubesphere devops使用
  • Selenium如何用于编写自动化测试脚本?
  • linux入门到精通-第二章-常用命令和工具
  • C语言初阶测评题:测试你的基础知识和编程技能!!
  • 使用HTTPS模式建立高效爬虫IP服务器详细步骤
  • 每日一题 230二叉搜索树中第K小的元素(中序遍历)
  • 文件包含漏洞及漏洞复现
  • Android 手游聚合SDK小知识(一)
  • 桂理理工大题
  • Jmeter接口测试+压力测试
  • mysql‘逻辑删除‘和‘唯一索引‘冲突的解决方案
  • MQTT,如何在SpringBoot中使用MQTT实现消息的订阅和发布