下面是我的代码的简化快照:
def getExamPoints(examPoints):
totalexamPoints = 0
return totalexamPoints
def getHomeworkPoints(hwPoints):
totalhwPoints = 0
return totalhwPoints
def getProjectPoints(projectPoints):
totalprojectPoints = 0
return avgtotalprojectPoints
def computeGrade(computeGrade):
computeGrade = 1
return computeGrade
def main ( ):
gradeReport = "\n\nStudent\t Score\tGrade\n=====================\n"
studentName = input ("Enter the next student's name, or 'quit' when done: ")
while studentName != "quit":
examPoints = getExamPoints(studentName)
hwPoints = getHomeworkPoints(studentName)
projectPoints = getProjectPoints(studentName)
studentScore = examPoints + hwPoints + projectPoints
studentGrade = computeGrade (studentScore)
gradeReport = gradeReport + "\n" + studentName + "\t%6.1f"%studentScore + "\t" + studentGrade**
main ( ) # Start program
在最后一行的gradeReport
赋值中得到一个错误,该行说“无法隐式地将int对象转换为str”。为什么会这样?在
这是有问题的线路:
您应该使用字符串格式,而不是简单地将字符串和整数相加(这是一个错误)。一种方法是:
^{pr2}$还有其他方法,但是由于您已经使用了
%
格式,所以我在这里继续在Python中,
"5" + 5
是一个错误,因为它是不明确的。它应该返回"55"
?10
?Python要求您明确地说明这一点,而不是做出假设并有一半的时间是错误的。在相关问题 更多 >
编程相关推荐