Python编程基础题(18-求平均值)

2023-11-07

Description
本题的基本要求非常简单:给定 N 个实数,计算它们的平均值。但复杂的是有些输入数据可能是非法的。一个“合法”的输入是 [−1000,1000] 区间内的实数,并且最多精确到小数点后 2 位。当你计算平均值的时候,不能把那些非法的数据算在内。

Input
输入第一行给出正整数 N(≤100)。随后一行给出 N 个实数,数字间以一个空格分隔。

Output
对每个非法输入,在一行中输出 ERROR: X is not a legal number,其中 X 是输入。最后在一行中输出结果:The average of K numbers is Y,其中 K 是合法输入的个数,Y 是它们的平均值,精确到小数点后 2 位。如果平均值无法计算,则用 Undefined 替换 Y。如果 K 为 1,则输出 The average of 1 number is Y。

在这里插入图片描述
在这里插入图片描述
参考程序

def SplitFloat(num):#输入num是字符串类型的小数
    ind=num.index(".")
    if len(num[ind+1:])>=3:
        return False
    else:
        return True
    
N=int(input())
ls=list(input().split())
SUM=0
cnt=0
for i in ls:
    try:
        temp=float(i)
        if temp>1000 or temp<-1000:
            print("ERROR: {} is not a legal number".format(i))
        else:
            if "." in i:#是浮点数
                if SplitFloat(i):#位数满足要求
                    SUM+=temp
                    cnt+=1
                else:
                    print("ERROR: {} is not a legal number".format(i))
            else:#是整数
                SUM+=temp
                cnt+=1
    except:
        print("ERROR: {} is not a legal number".format(i))
if cnt>1:
    print("The average of {0} numbers is {1:.2f}".format(cnt,SUM/cnt))
elif cnt==1:
    print("The average of {0} number is {1:.2f}".format(cnt,SUM/cnt))
else:
    print("The average of {0} numbers is Undefined".format(cnt))

说明:
本题简单使用了异常处理机制,对于一个输入,在将字符串转换为浮点数的过程中使用异常监测;若转换成功则就是正常地浮点数,作进一步处理(还要监测小数位数),若无法准换则直接交给异常来处理,无需自己设计判断是否为浮点数。
另外还要考虑,若只有1个合法数值,那么根据题目要求,number不要加s(单复数),这一点需要考虑到。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python编程基础题(18-求平均值) 的相关文章

  • 四种常用的自动化测试框架

    一直想仔细研究框架 写个流水账似的测试程序不难 写个低维护成本的测试框架就很难了 所以研究多种测试框架还是很有必要的 知道孰优孰劣 才能在开始编写框架的时候打好基础 今天读到了KiKi Zhao的翻译文章 觉得很是不错 写了一点学习心得 有
  • Numpy简单入门

    概述 Numpy是高性能科学计算好数据分析的基础包 提供了矩阵运算的功能 在深度学习和数据分析领域广泛应用 使用 创建array数组 vector np asarray 1 2 3 4 创建zero数组 a np zeros 10 创建向量
  • FatFS文件系统的使用(STM32)

    目录 1 Fatfs相关文件 2 驱动测试 3 重试机制 4 实现较为复杂的文件操作 4 1 获取磁盘容量 4 2 遍历目录 获取文件大小和数量 以及查找 删除等操作 4 3 认识文件权限和错误码 1 Fatfs相关文件 fatfs的介绍这
  • 聊聊leader的自我修炼

    这是鼎叔的第十七篇原创文章 行业大牛和刚毕业的小白 都可以进来聊聊 欢迎关注本人专栏和微信公众号 敏捷测试转型 大量原创思考文章陆续推出 4月3号晚上 鼎叔作为嘉宾参与小道消息播客的直播分享节目 和主持人老徐和兔子畅谈测试管理的那些事 本文
  • 【廖雪峰python入门笔记】列表生成式

    1 生成列表 要生成list 1 2 3 4 5 6 7 8 9 10 我们可以用range 1 11 gt gt gt range 1 11 1 2 3 4 5 6 7 8 9 10 但如果要生成 1x1 2x2 3x3 10x10 怎么
  • Web系统大规模并发:电商秒杀与抢购

    http blog jobbole com 91754 一 大规模并发带来的挑战 在过去的工作中 我曾经面对过5w每秒的高并发秒杀功能 在这个过程中 整个Web系统遇到了很多的问题和挑战 如果Web系统不做针对性的优化 会轻而易举地陷入到异
  • Android图片加载优化方案

    1 前言 在电商APP中 图片在整个页面中占比最大 清晰高质量的图片能够明显提升转化率 但是APP运行环境错综复杂 往往我们会遇到 图片压缩导致模糊 列表加载长时间显示空白图 查看大图黑屏过久 甚至因为图片过大导致crash等 如下效果展示
  • Java编程思想课后练习题——第三章-操作符

    本文主要依据 Java编程思想 的示例及课后练习 通过个人编写 同时参考答案的代码写法 主要目的是用于自己熟悉编码风格 同时可以给更多人提供参考 只完成了部分练习 练习1 package 操作符 import static net mind
  • VScode安装

    1 下载安装VScode 下载地址 Visual Studio Code Code Editing Redefined 浏览器下载很慢 我们进入下载页面 复制下载链接 https az764295 vo msecnd net stable
  • ubunutu20.04 pycharm使用anaconda下环境(主要是pytorch)

    新建pycharm项目和anaconda环境 打开pycharm new project new environment using conda 修改环境名 项目名 python版本选择3 9 我的电脑pyTorch在3 9上跑通了 其他版
  • SAP应付模块详解

    本文介绍以下内容 应付模块的基础知识 主数据 供应商 发票处理 付款及清账 预付款 应付票据 其他特别总账业务 供应商余额查询 定期处理 月末及年末年初的操作 应付模块报表 应付模块设计的流程清单和方案要点 由于应付模块和应收模块在很多方面
  • LaTex 之 数学运算符号

    属于号 in 开根号 sqrt 求和符号 sum 积分符号 int min max 大于等于 小于等于号 导言区使用两个宏包 usepackage amsmath usepackage amssymb 大于等于号 geqslant or g
  • Code Review的亲身实践

    Code Review 中文叫代码审查 指的是完成了部分功能的代码开发之后 在代码真正合并到仓库主分支之前 邀请同事帮你进行代码的审核和检查 检查代码的质量 规范 设计等等方面的过程 代码审查的好处 知识共享 进行代码审查的好处很多 其中一
  • Elasticsearch入门初探-单机多节点集群

    实时搜索引擎Elasticsearch 简称ES 是一个基于Apache Lucene 的开源搜索引擎 无论在开源还是专有领域 Lucene可以被认为是迄今为止最先进 性能最好 这里分享Elasticsearch入门在单机下如何配置多节点集
  • 数据权限——Mybatis拦截器实现

    一 需求背景介绍 1 需求介绍 需要实现数据权限管理 包含角色 普通用户 组长 管理员 其中普通用户只能看到自己创建的项目 组长能看到自己所管理的普通用户创建的项目 管理员能看到所有项目 相关表为 项目表 包含责任人owner字段 owne
  • iconfont下载到本地使用教程

    1 选择Symbol下载至本地 2 将压缩包进行解压 将压缩包如下后缀的文件放入项目中 iconfont css iconfont ttf iconfont woff iconfont woff2 通过import进行导入到index cs

随机推荐

  • 使用python-docx生成word文档

    基于python docx生成自定义word文档 源代码 from docx import Document from docx shared import Pt Inches from docx oxml ns import qn fro
  • Linux 字节序与字节对齐优化

    1 字节序跟Linux Windows无关 是由CPU构架决定 同一个CPU不管装的是Windows 或 Linux 字节序都是一样的 2 字节对齐 Linux 全用 attribute packed 作用于结构体 类似于pragma pa
  • 【深度学习】——循环神经网络RNN及实例气温预测、单层lstm股票预测

    引言 密集连接网络和卷积神经网络都有主要的特点 那就是它们没有记忆 它们单独处理每个输入 在输入和输入之间没有保存任何状态 举个例子 当你在阅读一个句子的时候 你需要记住之前的内容 我们才能动态的了解这个句子想表达的含义 生物智能已渐进的方
  • easyexcel poi根据模板导出Excel

    1 导入依赖
  • 最大和的连续子数组

    1 题目背景 给你一个整数数组nums 请你找出一个具有最大和的连续子数组 子数组最少包含一个元素 返回其最大和 子数组是数组中的一个连续部分 2 代码实现 public class Solution public static void
  • 关于HTTP常见状态码

    http状态码 HTTP Status Code 表示网页服务器超文本传输协议响应状态的3位数代码 是服务器用来告诉客户端当前请求响应的状态 通过状态码判断服务器运行状态 分类的第一位数字来表示 1xx表示消息 2xx表示成功 3xx表示重
  • 指向函数的指针 ------ 函数指针(function pointer)

    函数具有可赋值给指针的物理内存地址 一个函数的函数名就是一个指针 它指向函数的代码 一个函数的地址是该函数的进入点 也是调用函数的地址 函数的调用可以通过函数名 也可以通过指向函数的指针来调用 函数指针还允许将函数作为变元传递给其他函数 不
  • 读写一致 && MySQL&&Redis

    存储一致性 CPU存储 L1L2Cache等等 不懂CPU如何读写内存还敢说自己是程序员 知乎 zhihu com 基础知识 1 什么是cache line cache line 位于 CPU 与内存之间 CPU想要获得数据的时候 先从CP
  • Typora+PicGo+Alist 私人图床教程

    前置资源 已安装好typora 直接官网下载即可 Typora 官方中文站 typoraio cn 安装好PicGo 稳定版优先 推荐稳定版2 3 1 PicGo 腾讯云COS 下载链接 下载速度快 https picgo 12517503
  • 人民币兑换python

    输入一个人民币的整数值 100以内以元为单位 编程找到用10元 5元 2元 1元表示的总数量的最小组合方式 输入形式 从控制台输入一个整数值 表示以元为单位的人民币币值 输出形式 向控制台输出四个整数 以空格分隔 分别表示兑换成的10元 5
  • linux安装minio以及springboot整合使用

    文章目录 1 linux安装minio 2 springboot整合minio使用 1 linux安装minio 1 新建文件夹 mkdir home minio 数据文件夹 mkdir home minio data 创建日志文件夹 mk
  • python-selenium-pytest-allure UI自动化测试

    一 下载及安装插件 python selenium pytest allure 辅助 pyautoit pymysql 二 代码框架 1 基础文件 main py if name main pytest main alluredir all
  • 台式电脑没鼠标怎么移动光标_台式电脑没有鼠标怎么操作电脑

    没鼠标只能靠键盘操作了 以下都是键盘快捷键命令F6 选择操作区域光标键 选择目标backspac 退回上一级目录enter 进入 运行 table 项目选择单独按Windows 显示或隐藏 开始 功能表Windows BREAK 显示 系统
  • gettimeofday windows上的实现

    gettimeofday是Linux上的函数 在windows的实现 这里直接转doubango工程中的tsk time c 源文件种的实现 可以参考 include tsk time h include tsk debug h if TS
  • CodeBlocks新手安装以及汉化(20,03版本)

    CodeBlocks 20 03安装以及汉化设置 CodeBlocks官网 https www codeblocks org downloads binaries CodeBlocks 20 03安装包及汉化包下载 链接 https pan
  • 利用python实现简易版的贪吃蛇游戏(面向python小白)

    本文来源于公众号 csdn2299 喜欢可以关注公众号 程序员学府 引言 作为python 小白 总是觉得自己要做好百分之二百的准备 才能开始写程序 以至于常常整天在那看各种语法教程 学了几个月还是只会print hello world 这
  • 线性回归算法

    一 监督学习完整流程 房价预测为例 给出正确答案 根据我们的数据来说房子实际的价格是多少 回归问题 根据之前的数据预测出一个准确的输出值 另一种监督学习流程 分类问题 寻找癌症肿瘤问题 当我们想要预测离散的输出值 例如寻找癌症肿瘤并想要确认
  • 新安装的IDEA 2019.2---没法启动 Start Failed

    Internal error Please report to http jb gg ide critical startup errors com intellij ide plugins MainRunner StartupAborte
  • 数学基础(一)矩阵对角化、SVD分解以及应用

    目录 一 矩阵 1 矩阵的性质 2 单位矩阵和逆矩阵 3 矩阵的对角化 二 矩阵的SVD分解 三 SVD的应用 一 矩阵 1 矩阵的性质 下面列出了矩阵的一些性质 A表示一个p m的矩阵 B C表示一个m n的矩阵 最后一条比较常用 由于x
  • Python编程基础题(18-求平均值)

    Description 本题的基本要求非常简单 给定 N 个实数 计算它们的平均值 但复杂的是有些输入数据可能是非法的 一个 合法 的输入是 1000 1000 区间内的实数 并且最多精确到小数点后 2 位 当你计算平均值的时候 不能把那些