博客
关于我
python 异常处理编程 编写程序,根据用户输入[0,100]范围内的分数,判断该分数是否及格。要考虑各种输入情况!
阅读量:497 次
发布时间:2019-03-06

本文共 1389 字,大约阅读时间需要 4 分钟。

针对这个分数判断及格的问题,我们可以编写一个基础的错误处理程序来避免各种边缘情况的出现。这个程序的主要目标是让用户输入有效的数字,然后根据设定的范围判断及格等级。

首先,我们可以设计一个循环结构,让用户有多次机会输入分数,如果输入了无效的数据,则会提示错误信息并让用户重新输入。这样可以确保程序的健壮性。

在处理输入的过程中,我们需要考虑到以下几点:

  • 用户可能输入超出范围的数字
  • 用户可能输入非数字字符(如字母或符号)
  • 用户可能输入大量的输入字符,导致输入溢出
  • 针对上述问题,我们可以在程序中使用try-except块来处理异常情况,并根据不同的异常类型给予不同的提示信息。这样可以让用户在输入错误时更清楚地知道问题所在。

    还需要注意的就是,当用户输入的数字符号时,解析错误也可能会出现,因此我们需要针对这种情况进行处理,并给予相应的提示。

    我们的程序逻辑可以分成以下几个步骤:

  • 进入主循环
  • 在循环内提示用户输入分数
  • 使用eval函数读取用户输入并转换成数值
  • 如果转换成功,检查分数是否在[0,100]范围内
  • 如果在范围内,判断及格等级
  • 如果不在范围内,提示超出范围并重新开始循环
  • 如果在转换过程中出现错误,提示错误信息并重新开始循环
  • 接下来,我将按照上述逻辑编写一个Python程序,并进行相应的错误处理和及格判断。

    示例代码:

    while True:    #提示用户输入分数    print("请在0到100之间输入您的分数:")    #读取用户输入并转换为数值    try:        score = eval(input())  # 使用eval来处理字符串转换    except:        print("输入错误,请重新输入!")  #处理所有不预期的异常        continue  # 继续循环,提示用户重新输入        #检查是否是数字字符    try:        assert isinstance(score, (int, float))    except:        print("请不要输入非数字或非小数值格式!")        continue        #检查分数范围    if score < 0 or score > 100:        print("分数超出了范围,请重新输入!")        continue    else:        #判断及格等级        if score >= 60:            print("及格!")        else:            print("不及格!")        break  #退出循环

    示例运行结果:

    用户输入:输入正确的情况下,程序会判断分数是否及格。输入错误的情况下,程序会给予相应的错误提示,并重新进入循环让用户重新输入。

    分数及格标准:设置及格线为60分及以上。如果输入的分数在这个范围内,则会输出及格!,否则会输出不及格!。

    程序结构:

    程序结构比较基础,只包含了一个小范围的错误处理和及格判断功能。对于更复杂的错误处理和判断条件,可以在这一框架的基础上进行扩展和完善。

    这样的判断过程比较简单直接,但是可以满足大部分常见的使用场景。对于更复杂的分数计算或者处理,可以在这个基础上进行扩展。

    转载地址:http://ypqdz.baihongyu.com/

    你可能感兴趣的文章
    【Flink】Flink 1.9 版本 web UI 突然没有日志
    查看>>
    NIFI大数据进阶_FlowFile拓扑_对FlowFile内容和属性的修改删除添加_介绍和描述_以及实际操作---大数据之Nifi工作笔记0023
    查看>>
    NIFI大数据进阶_FlowFile生成器_GenerateFlowFile处理器_ReplaceText处理器_处理器介绍_处理过程说明---大数据之Nifi工作笔记0019
    查看>>
    NIFI大数据进阶_FlowFile生成器_GenerateFlowFile处理器_ReplaceText处理器_实际操作---大数据之Nifi工作笔记0020
    查看>>
    NIFI大数据进阶_Json内容转换为Hive支持的文本格式_实际操作_02---大数据之Nifi工作笔记0032
    查看>>
    NIFI大数据进阶_Json内容转换为Hive支持的文本格式_操作方法说明_01_EvaluteJsonPath处理器---大数据之Nifi工作笔记0031
    查看>>
    NIFI大数据进阶_Kafka使用相关说明_实际操作Kafka消费者处理器_来消费kafka数据---大数据之Nifi工作笔记0037
    查看>>
    NIFI大数据进阶_Kafka使用相关说明_实际操作Kafka生产者---大数据之Nifi工作笔记0036
    查看>>
    NIFI大数据进阶_NIFI的模板和组的使用-介绍和实际操作_创建组_嵌套组_模板创建下载_导入---大数据之Nifi工作笔记0022
    查看>>
    NIFI大数据进阶_NIFI监控功能实际操作_Summary查看系统和处理器运行情况_viewDataProvenance查看_---大数据之Nifi工作笔记0026
    查看>>
    NIFI大数据进阶_NIFI监控的强大功能介绍_处理器面板_进程组面板_summary监控_data_provenance事件源---大数据之Nifi工作笔记0025
    查看>>
    NIFI大数据进阶_NIFI集群知识点_认识NIFI集群以及集群的组成部分---大数据之Nifi工作笔记0014
    查看>>
    NIFI大数据进阶_NIFI集群知识点_集群的断开_重连_退役_卸载_总结---大数据之Nifi工作笔记0018
    查看>>
    NIFI大数据进阶_使用NIFI表达式语言_来获取自定义属性中的数据_NIFI表达式使用体验---大数据之Nifi工作笔记0024
    查看>>
    NIFI大数据进阶_内嵌ZK模式集群1_搭建过程说明---大数据之Nifi工作笔记0015
    查看>>
    NIFI大数据进阶_内嵌ZK模式集群2_实际操作搭建NIFI内嵌模式集群---大数据之Nifi工作笔记0016
    查看>>
    NIFI大数据进阶_外部ZK模式集群1_实际操作搭建NIFI外部ZK模式集群---大数据之Nifi工作笔记0017
    查看>>
    NIFI大数据进阶_实时同步MySql的数据到Hive中去_可增量同步_实时监控MySql数据库变化_实际操作_03---大数据之Nifi工作笔记0035
    查看>>
    NIFI大数据进阶_实时同步MySql的数据到Hive中去_可增量同步_实时监控MySql数据库变化_操作方法说明_01---大数据之Nifi工作笔记0033
    查看>>
    NIFI大数据进阶_实时同步MySql的数据到Hive中去_可增量同步_实时监控MySql数据库变化_操作方法说明_02---大数据之Nifi工作笔记0034
    查看>>