[英]unsupported operand type(s) for *: 'function' and 'int'
def main():
midterm=midtermgra
final=finalgra
semgra=semesterGrade(midterm,final)
category(semgra)
def midtermgra():
midterm=eval(input('Please enter your midterm grade: '))
return midterm
def finalgra():
final=eval(input('Please enter your final grade: '))
return final
def semesterGrade(midterm,final):
semgra=(midterm+(final*2))/3
return semgra
def category(semgra):
if(semgra<60):
print('Semester grade: F ')
elif(semgra<70):
print('Semester grade: D ')
elif(semgra<80):
print('Semester grade: C ')
elif(semgra<90):
print('Semester grade: B ')
else:
print('Semester grade: A ')
main()
我正在嘗試按照教材編寫結構化程序。 然而,事實證明這是一個錯誤
類型錯誤:* 不支持的操作數類型:“函數”和“整數”。
我已經重讀了我的教學幻燈片,但無法找出問題所在。 有人可以幫助我嗎?
你寫了 midterm = midtermgra 和 midtermgra 是一個 function 所以這就是原因
你想在下面兩行中執行main()
中的函數,但省略了括號,以便解釋器知道你想調用這些函數而不是將 function 分配給變量。 當您稍后使用midtermgra
進行計算時,該值被分配給 function 名稱,但解釋器需要一個int
,因此會出現錯誤消息。
midterm=midtermgra
final=finalgra
應該
midterm=midtermgra()
final=finalgra()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.