很抱歉,如果这看起来像个愚蠢的问题,我对Python很陌生。我需要为学校项目创建一个程序。项目大纲说明了这一点:学生可以通过两种方式在课程中获得最终成绩。首先,课程工作值得 60%,最终项目价值20%,期末考试价值20%。或者,课程工作价值70%,最终项目价值10%,期末考试价值20%。使用以下代码作为开始,并创建一个程序,输出学生可以达到的最高分。
course = 87
finalProject = 75
exam = 82
如果这看起来像一个愚蠢的问题我再次道歉,我对Python很新。我只需要了解实现这一目标的最佳方式。
答案 0 :(得分: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
)
答案 1 :(得分:0)
这是一个简单的数学问题,对Python来说是新手并不重要。使用两个等式计算最终标记,然后检查哪个更大。输出最大值的值。
答案 2 :(得分:0)
您正在比较第一和第二评分系统吗?它不应该只是两个变量吗?您可以使用max()
与数字进行比较:max(a, b)
返回两个数字之间的较高值。其余的你可以自己解决。
答案 3 :(得分: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
您可能会觉得这很有趣:Interesting article from meta.programmers.stackexchange.com