You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python实现无if-else语句的学生成绩评级程序(面向初学者)

不用if-else实现成绩等级判断

可以利用Python中布尔值可转换为整数(True=1,False=0)的特性,通过条件的累加结果作为索引,从预定义的等级元组中获取对应等级,完全不需要if-else语句。

修改后的完整代码如下:

#We Really Stalk Code!! :)
M = int(input("Enter The Marks Of Maths(Out OF 100) "))
S = int(input("Enter The Marks Of Science(Out OF 100) "))
E = int(input("Enter The Marks Of English(Out OF 100) "))
TOT = M + S + E
print("Total Marks", TOT, sep=" ")
PER = (M + S + E) / 3
print("Percentage", round(PER, 2), sep=" ")

# 无需if-else的等级判断
grades = ('C', 'B', 'A')
# 布尔值相加得到索引:0→C,1→B,2→A
grade_index = (PER > 0) + (PER > 50)
print(grades[grade_index])

逻辑说明

  • 当PER == 0时,PER > 0和PER > 50都为False(即0),索引为0,取'C'
  • 当0 < PER ≤50时,PER > 0为True(1),PER > 50为False(0),索引为1,取'B'
  • 当PER > 50时,两个条件都为True(1+1=2),索引为2,取'A'

内容的提问来源于stack exchange,提问作者Piyush Baweja

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 12:15:30