【发布时间】:2022-11-05 08:04:34
【问题描述】:
我正在尝试完成以下作业,但我很难过:
创建一个名为
mark的变量并将其赋值为 65。然后编写一系列if ... elif ... else语句为新变量分配一个等级,使得低于 50 的标记产生“失败”,从 50 到 59 产生“通过”,从60 到 69 岁产生“Merit”,70 岁及以上产生“Distition”。打印成绩。
然后再次实现相同的逻辑,但这次不使用 if 语句。
我能够完成第一部分,但我不确定如何做同样的避免 IF 功能 - 有人可以帮忙吗?
使用 IF 函数我有以下按预期工作:
mark = 50 if mark > 69: print(mark, "marks is a Distinction") elif mark <= 69 and mark >= 60: print(mark, "marks is a Merit") elif mark <= 59 and mark >= 50: print(mark, "markss is a Pass") else: print(mark, "marks is a Fail")我不知道从哪里开始避免 if 函数
【问题讨论】:
-
您可以使用
while和末尾的无条件break作为if的替代品。这很愚蠢,但任务也是如此。 -
(关于我是如何得出这个建议的——“从哪里开始”是通过查看流量控制操作员列表并考虑他们如何在你的最终被滥用)
-
...也就是说,Stack Overflow 的范围仅限于实际的,可回答的问题;避免使用显然是适合工作的工具的东西绝非实用。
-
我希望老师不要指望他们使用
match声明... -
我很确定您可以“滥用”布尔值来为结果编写代数表达式:例如,尝试为不同的打印 a = "small"*(mark < 50) + "big" * (mark >= 50)标记的值。
标签: python conditional-statements