成绩评级程序

  • 分数 < 60,D
  • 60 <= 分数 < 80,C
  • 80 <= 分数 < 90,B
  • 90 <= 分数 < 100,A
  • 分数 == 100,S
# 输入分数
score = int(input("请输入分数:")) # 判断评级
if score < 0 or score > 100:
print("无效的分数")
elif score < 60:
print("评级为D")
elif score < 80:
print("评级为C")
elif score < 90:
print("评级为B")
elif score < 100:
print("评级为A")
else:
print("评级为S")

elif 是 Python 中的一个关键字,它的意思是“如果前面的条件不成立,那么尝试这个条件”。

它用来在 if 语句中添加多个分支,每个分支都有一个不同的条件和对应的代码块。例如:

if a > b:
print("a大于b")
elif a == b:
print("a等于b")
elif a < b:
print("a小于b")
else:
print("无效的输入")

elif 和 else 的区别是,elif 后面需要跟一个条件,而 else 后面不需要。

elif 用来在 if 语句中添加多个互斥的分支,只有当前面的条件都不成立时,才会执行 elif 后面的代码块。

else 用来在 if 语句中添加一个默认的分支,只有当前面的条件都不成立时,才会执行 else 后面的代码块。

修改代码,让程序可以不断接收输入,直至用户输入小写字母 e 结束程序。

# 输入分数
score = input("请输入分数:")
# 判断评级
while score != "e":
score = int(score)
if score < 0 or score > 100:
print("无效的分数")
elif score < 60:
print("评级为D")
elif score < 80:
print("评级为C")
elif score < 90:
print("评级为B")
elif score < 100:
print("评级为A")
else:
print("评级为S")
# 再次输入分数
score = input("请输入分数:")

优化一下代码,让它更简洁和高效。

# 输入分数
score = input("请输入分数:")
# 判断评级
while score != "e":
score = int(score)
if 0 <= score <= 100:
# 使用字典存储评级
grade_dict = {100: "S", 90: "A", 80: "B", 60: "C"}
# 找到最接近的评级
grade = grade_dict.get(min(grade_dict.keys(), key=lambda x: abs(x - score)))
# 如果没有找到,说明评级为D
if not grade:
grade = "D"
print(f"评级为{grade}")
else:
print("无效的分数")
# 再次输入分数
score = input("请输入分数:")

Python程序笔记20230303的更多相关文章

  1. 20180821 Python学习笔记:如何获取当前程序路径

    20180821 Python学习笔记:如何获取当前程序路径 启动的脚本的路径为:D:\WORK\gitbase\ShenzhenHouseInfoCrawler\main.py 当前脚本的路径为:D ...

  2. python学习笔记-python程序运行

    小白初学python,写下自己的一些想法.大神请忽略. 安装python编辑器,并配置环境(见http://www.cnblogs.com/lynn-li/p/5885001.html中 python ...

  3. python笔记:#002#第一个python程序

    第一个 Python 程序 目标 第一个 HelloPython 程序 Python 2.x 与 3​​.x 版本简介 执行 Python 程序的三种方式 解释器 -- python / python ...

  4. Python学习笔记(Ⅰ)——Python程序结构与基础语法

    作为微软的粉丝,最后终于向Python低头了,拖了两三个月终于下定决心学习Python了.不过由于之前受到C/C#等语言影响的思维定式,前期有些东西理解起来还是很费了些功夫的. 零.先抄书: 1.Py ...

  5. Python开发【笔记】:python程序添加到systemctl系统服务

    systemctl系统服务 环境:centos7 systemctl服务使用详解 实现 正常情况下我们在/usr/lib/systemd/system/目录下,创建一个以.service 后缀的文件, ...

  6. Python学习笔记一:第一个Python程序,变量,字符编码与二进制,用户交互程序

    第一个python程序 Windows:设置环境变量,X:\pthonxxx,xxx是版本号 在命令提示符下 输入python,进入解释器 >>>print(“Hello World ...

  7. Python学习笔记:PyInstaller(exe程序打包)

    PyInstaller可以将Python程序打包成一个exe程序来独立运行,用户使用时只需要执行这个exe文件即可,不需要在机器上再安装Python及其他包就可运行了.另外,PyInstaller相较 ...

  8. Python学习笔记:py2exe打包Python程序

    使用py2exe将一个Python程序打包成一个exe程序,这样Python程序也可以在没有安装Python的环境中运行Python程序了.使用这个工具需要写一个用于打包的setup.py文件(名称可 ...

  9. Python学习笔记(四)Python程序的控制结构

    在学习了 Python 的基本数据类型后,我们就要开始接触Python程序的控制结构,了解 Python 是如何使用控制结构来更改程序的执行顺序以满足多样的功能需求.如果有的小伙伴在之前学过C语言,j ...

  10. Python学习笔记(二)使用Sublime Text编写简单的Python程序()

    一.使用Sublime Text编写Python 1.点击“文件” →”新建文件“ 2.点击”文件“→”保存“,并保存为.py文件 此时已经创建好Python文件了,接下来就可以编写Python程序了 ...

随机推荐

  1. vue中模块化后mapState的使用

    代码如下: 相当于声明了一个变量name,然后以state入参取得其modules文件夹中user文件里的name属性.因为在模块(如user)中,在抛出时的export default中添加了一句: ...

  2. Java常用几种加密算法(四种)

    Java常用几种加密算法(四种) HChan 万丈红尘三杯酒,千秋大业一壶茶. 3 人赞同了该文章 Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045-RF ...

  3. 安装DevExpress VCL,使用时报错 某单元文件找不到的解决办法

    1.新建一个工程做为测试 2.点击projecct-->options 3. 4. 5.在上4图上的红框内加入packages文件 dxCoreRS27;dxGDIPlusRS27;dxComn ...

  4. MQ:Communications link failure

    ActiveMQ:Communications link failure问题以及解决办法   ActiveMQ版本:5.5.1 MQ 所使用的 MySQL 是 InnoDB存储引擎 记录人:@郑昀 现 ...

  5. 学习记录--C++多态性简答+编程题

    #include<iostream> #include<string> //双目运算符:运算符作用域两个操作数 //定义一个复数类,重载"+",作为复数类的 ...

  6. SpringBoot笔记--配置->profile的配置

    profile--动态配置切换 profile配置方式: 使用spring.profile.active=进行激活.properties文件 直接使用一个.yml文件代替多文件配置 使用---分隔符分 ...

  7. Android笔记--视图显示

    视图显示 视图的宽高设置 方式一:在.xml文件中设置视图的宽和高 通过调用android:layout_width设置视图的宽 通过调用android:layout_height设置视图的高 宽和高 ...

  8. Qt 学习笔记 - 第五章 - Qt 时间编程 - Qt 时钟

    原文地址:Qt 学习笔记 - 第五章 - Qt 时间编程 - Qt 时钟 Qt 学习笔记全系列传送门: Qt 学习笔记 - 第一章 - 快速开始.信号与槽 Qt 学习笔记 - 第二章 - 添加图片.布 ...

  9. 【读书笔记】组合计数中的行列式方法 专题2 欧拉回路,the BEST theorem

    目录 专题2-欧拉回路,the BEST theorem 一些定义 一个有向图是欧拉的充要条件 BEST定理 BSET定理推论 k-ary de Bruijn sequence定义 BSET theo ...

  10. java常用的数据类型有哪些

    前言 在上一篇文章中,壹哥给大家讲解了Java中变量的定义.使用及基本原理等内容,这个内容并不是很难,但却是我们走向Java大神的第一步!壹哥希望你从第一天就要认真对待哦. 在前面讲解变量时,壹哥给大 ...