如何在python中为没有if-else语句的学生年级制作程序



实际上,我是个初学者。因此,相应地帮助我。我很困惑,我们如何能够在不使用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=" ")
#Now I want The Below Code To Be Run Without The Use Of if_else
if(PER>50):
print("A")
elif(PER>0):
print("B")
elif(PER==0):
print("C")

If else的基础。编程中没有比这更基本的结构了。实现这一点的任何替代机制都将使用更复杂的结构(数据结构、goto或循环(

Python确实有可供选择的控制流语句。它有goto,如果可以使用while实现,则中断如下

while per > 50:
print("A")
break

但是if-else在Python中总是正确的方法。

人为的限制并不能教会你成为一个好的程序员。不使用字母e写一整篇文章,你无法学会成为一名优秀的作家。不使用脚,你无法成为一名出色的足球运动员。用勺子切所有的蔬菜,你不会成为一个更好的厨师。

@NickBailey的答案是最简单的,也可能是最好的,没有if-else语句。

您还可以使用布尔逻辑通过字典来判断成绩是A、B还是C。


# Figure out if it's an A, B, or C (only one can be True)
is_a = PER > 50
is_b = PER <= 50 and PER > 0
is_c = PER == 0
# Assign key,val pairs to each grade
grade_values = {
is_a: "A",
is_b: "B",
is_c: "C",
}
# Since only one grade can evaluate to True, grade_values[True] will return the correct grade
grade = grade_values[True]
print(grade)

python中if-else的替代方案是python中的switch case。在python中实现switch case可以借助于python中的dictionary来实现。

最新更新