成绩评级程序

  • 分数 < 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. Python - XSS-Attribute

    参考资料:https://owasp-skf.gitbook.io/asvs-write-ups/cross-site-scripting-attribute-xss-attribute/kbid-3 ...

  2. OperationContext

    public void Add(double x, double y) { double result = x + y; ICallback callback = OperationContext.C ...

  3. Docker不启动容器的情况下修改配置文件

    应用场景: 1.容器中配置文件错误无法启动. 2.任何不启动容器时修改配置文件. 方法: 1.Copy容器中的配置文件出来. 2.修改此配置文件 3.将配置文件重新覆盖回容器内 命令 docker c ...

  4. 阿里云centos7 磁盘挂载

    适用于多磁盘的情况 1. 查看本地所有磁盘 fdisk -l 2.格式化磁盘系统 mkfs.ext3 /dev/vdb  (/dev/vdb  为未挂载的磁盘路径) 2.创建挂载点 mkdir /ho ...

  5. Edge 访问网站强制HTTPS

    edge://net-internals/#hsts 1)開啟Edge chromium 瀏覽器,輸入edge://net-internals/#hsts,開啟設定介面2)找到 Delete doma ...

  6. 【javascript】export 与 export default 区别

    总是记不得,自己打一遍 通过export方式导出,在导入时要加{ },export default则不需要,因为它本身只能有一个

  7. mysqld_safe Directory '/tmp/mysql' for UNIX socket file don't exists.

    报错版本:mysql-5.7.35 1.报错完整提示信息: [root@localhost bin]# 2022-11-15T04:04:43.122905Z mysqld_safe Logging ...

  8. 多线程JUC练习

    package com.aliyun.test.learn; import java.util.concurrent.*; import java.util.concurrent.locks.Reen ...

  9. 【其他】etcd

    配置 node1 name: etcd-1 data-dir: /data/etcd/node1 listen-client-urls: http://127.0.0.1:6701 advertise ...

  10. vue下拉选择select option el-cascader删除重选值的问题

    select当下拉值多的时候 以及input cascader级联选择一个值后  后面我不想要了 vue  提供了一个关键字  可以帮你全部清空 这个关键字就是:clearable