簡體   English   中英

* 不支持的操作數類型:'function' 和 'int'

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM