栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

利用python开发匹配成绩的小程序

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

利用python开发匹配成绩的小程序

文章目录
    • 1.1 需求
    • 1.2 代码实现一
      • 1.2.1 代码
      • 1.2.2 实现效果

1.1 需求
01:成绩一共分为5个等级,分别是ABCDE;相应的等级如下
   A  90~100
   B  80~89
   C  60~79
   D  40~59
   E  0~39
02:当用户输入没有输入任何内容时(空格、回车),继续让用户输入,不给相应提示;
03:用户输入的内容只可以是0~100内的整数或小数,若不是给出提示,且让用户重新输入;
04:当用户输入q/Q时可以退出程序。
1.2 代码实现一 1.2.1 代码
# -*- coding: utf-8 -*-

"""
需求
    01:成绩一共分为5个等级,分别是ABCDE;相应的等级如下
        A  90~100
        B  80~89
        C  60~79
        D  40~59
        E  0~39
    02:当用户输入没有输入任何内容时(空格、回车),继续让用户输入,不给相应提示;
    03:用户输入的内容只可以是0~100内的整数或小数,若不是给出提示,且让用户重新输入;
    04:当用户输入q/Q时可以退出程序。
"""


while True:
    # 接收用户的输入
    user_in = input("请输入你的成绩,按q/Q可退出程序:")

    # 对用户的输入做基本的判断
    if user_in.upper() == "Q" :
        print("# 感谢使用,已退出程序。")
        break
    elif user_in.isspace()  or len(user_in) == 0 :
        continue

    # 对用户的输入做进一步判断以及进行成绩匹配
    user_in_r = user_in.strip().replace(" ",".")
    if user_in_r.count(".") > 1 :
        print("# 请输入[0~100]的整数或小数")
        continue
    elif user_in_r.count(".")  == 0 :
        if user_in_r.isdigit() :                           # 如果都是正整数
            i_user_in = int(user_in_r)                     # 定义变量
            if i_user_in > 100:
                print("# 成绩超过100,请重新输入。")
            elif i_user_in >= 90:
                print("** 成绩等级为A")
            elif i_user_in >= 80:
                print("** 成绩等级为B")
            elif i_user_in >= 60:
                print("** 成绩等级为C")
            elif i_user_in >= 40:
                print("** 成绩等级为D")
            elif i_user_in >= 0:
                print("** 成绩等级为E")
        else:
            print("# 请输入[0~100]的整数或小数")
    elif user_in_r.count(".") == 1 :
        user_in_l = user_in_r.split(".")                    # 转换成列表,以.号为分隔符
        total = len(user_in_l)                              # 定义变量,统计列表有多少个元素
        for n in user_in_l :
            if n.isdigit() :
                total = total - 1
        if total == 0 :                                     # 判断total的值,不在for循环里面哈
            f_user_in = float(user_in_r)                    # 定义变量
            if f_user_in > 100:
                print("# 成绩超过100,请重新输入。")
            elif f_user_in >= 90:
                print("** 成绩等级为A")
            elif f_user_in >= 80:
                print("** 成绩等级为B")
            elif f_user_in >= 60:
                print("** 成绩等级为C")
            elif f_user_in >= 40:
                print("** 成绩等级为D")
            elif f_user_in >= 0:
                print("** 成绩等级为E")
        else:
            print("# 请输入[0~100]的整数或小数")
            continue
1.2.2 实现效果

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/294546.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号