2014-11-04 56 views
-5

快速问题我想知道我要去哪里错了我目前正在学习Python,我卡住了我在这个简单的成绩计算器函数使用标记作为参数错了。如果在函数语句Python

这是我的代码,我想知道你们是否可以指出我在正确的方向。谢谢:)

def calculateGrade(mark): 
    if mark >=16: 
     return("A") 
    elif mark >= 12 and mark <16: 
     return("B") 
    elif mark >8 and mark <11: 
     return("C") 
    elif mark <8: 
     return("F") 
+5

有什么问题? – MattDMo 2014-11-04 20:35:32

+3

“标记”绝对是一个数字,而不是一个字符串? (另外,你不处理'mark == 8'或'11 <= mark <12'。) – jonrsharpe 2014-11-04 20:36:13

+1

请说明你的输入和你的期望输出应该是什么 – resilva87 2014-11-04 20:37:42

回答

1

我会做的第一件事是确保“标记”是一个整数。然后我将摆脱已经检查过的值的冗余检查。然后我会摆脱多余的括号(谢谢,Matthias)。

def calculateGrade(mark): 
    mark = int(mark) 
    if mark >=16: 
     return "A" 
    elif mark >= 12: 
     return "B" 
    elif mark >8: 
     return "C" 
    else: 
     return "F" 
+2

然后我们摆脱不必要的parens。你不需要'return(“F”)',你可以使用'return'F''。 – Matthias 2014-11-04 20:42:45

+0

这真是太好了谢谢我有很多学习要开始。感谢他们 – Noskes 2014-11-04 20:45:17

+0

@NoskesL:如果答案对您有帮助,请尽快将其标记为已接受。 – GingerPlusPlus 2014-11-04 20:47:56