python实验5 序列(1)

题目

假设有5名评阅人进行论文评审。请使用字符串输入n(n>3)个参评者的5个评审结果(评审等级为A、B或C),根据等级结果判断参评者是否通过考核。判断规则是:如果出现以下情况中的任意一种则不通过,否则通过:(运行结果要通过的情况和两种不通的情况,运行效果样例如下图所示:)

(1)如果出现C则不通过;

(2)如果出现3个B则不通过。

 

答案

def is_passed(grades):
    # 检查是否有C
    if 'C' in grades:
        return False, "Not Pass!"
    
    # 检查B的数量
    count_b = grades.count('B')
    if count_b >= 3:
        return False, "Not Pass!"
    
    # 如果没有以上情况,则通过
    return True, "Pass!"

# 示例输入
n = int(input("请输入参评人数: "))
if n <= 3:
    print("n必须大于3!")
else:
    grades_input = []
    print("请输入等级结果:")
    for i in range(n):
        print(f"--------{i+1}--------")
        grades_str = input().strip()
        grades = grades_str
        if len(grades) != 5 or not all(grade in ['A', 'B', 'C'] for grade in grades):
            print("输入格式错误!请确保输入5个A、B或C的评审结果。")
            continue
        grades_input.append(grades)
        passed, message = is_passed(''.join(grades))
        print(f"{message}")

    #以下可删
    # 对每个参评者进行判断
    #for i, grades in enumerate(grades_input):
    #    passed, message = is_passed(''.join(grades))
    #    print(f"{message}")

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值