-2

抱歉,如果这似乎是一个愚蠢的问题,我对 Python 还是很陌生。我需要为学校项目创建一个程序。项目大纲是这样说的:学生可以通过两种方式在课程中获得最终成绩。首先课程作业可以占 60%,期末项目占 20%,期末考试占 20%。或者,课程作业可以占 70%,期末项目占 10%,期末考试占 20%。使用以下代码作为开始,并创建一个输出学生可以达到的最高成绩的程序。

course = 87
finalProject = 75
exam = 82

如果这似乎是一个愚蠢的问题,我再次道歉,我对 Python 很陌生。我只需要知道这样做的最佳方法。

4

4 回答 4

2

内置max(...)函数只返回传递给它的最大参数;它也可用于列表:max([1, 2, 3])=> 3

在你的情况下:

highest = max(
    course * 0.6 + finalProject * 0.2 + exam * 0.2,
    course * 0.7 + finalProject * 0.1 + exam * 0.2
)
于 2013-10-04T14:47:44.327 回答
0

这是一个简单的数学问题,不熟悉 Python 是无关紧要的。使用这两个方程计算最终标记,然后检查哪个更大。输出最大的值。

于 2013-10-04T14:47:48.810 回答
0

您是在比较第一和第二评分系统吗?不应该只是两个变量吗?您可以使用max()与数字进行比较:max(a, b)返回两个数字之间的较大值。其余的你可以自己解决。

于 2013-10-04T14:53:41.553 回答
0

无非就是数学。真的...

# Your starting point
course = 87
finalProject = 75
exam = 82

# What I would "crunch" into a calculator besides the variables
total1 = (course * 0.6) + (finalProject * 0.2) + (exam * 0.2)
total2 = (course * 0.7) + (finalProject * 0.1) + (exam * 0.2)

# Printing my computed answers just to make sure I can tell if it gives the right output
print "Total1: %s\tTotal2: %s" % (total1, total2)

# Printing the highest one. 
print "\nYour mark is: %s" % max(total1, total2)

在行动中看到它:http: //codepad.org/UsfAVC30

您可能会觉得这很有趣:来自 meta.programmers.stackexchange.com 的有趣文章

于 2013-10-04T15:16:23.877 回答