亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 python 未成功顯示成績

使用 python 未成功顯示成績

喵喔喔 2023-05-23 10:46:39
我是 python 編程的初學者。我編寫了一個系統來計算學生的分數。一切都按預期工作,但我只fail顯示一次。此外,如果平均值超過 50,我也會收到一條fail消息。我不明白為什么。這是我的代碼 from tkinter import *        def Ok():        result = int(e1.get()) + int(e2.get()) + int(e3.get())            totText.set(result)            average = result/3        avgText.set(average)            if (average > 50) :                grade = "pass"        else :            grade = "fail"                gradeText.set(grade)        root = Tk()    root.title("Calculator")    root.geometry("300x400")        global e1    global e2    global e3    global totText    global avgText    global gradeText                totText = StringVar()    avgText = StringVar()    gradeText = StringVar()            Label(root, text="Marks1").place(x=10, y=10)    Label(root, text="Marks2").place(x=10, y=40)    Label(root, text="Marks3").place(x=10, y=80)    Label(root, text="Total:").place(x=10, y=110)    Label(root, text="Avg:").place(x=10, y=140)    Label(root, text="Grade:").place(x=10, y=180)    e1 = Entry(root)    e1.place(x=100, y=10)        e2 = Entry(root)    e2.place(x=100, y=40)        e3 = Entry(root)    e3.place(x=100, y=80)    result = Label(root, text="", textvariable=totText).place(x=100, y=110)    avg = Label(root, text="", textvariable=avgText).place(x=100, y=140)    grade = Label(root, text="", textvariable=gradeText).place(x=100, y=180)    Button(root, text="Cal", command=Ok ,height = 1, width = 3).place(x=10, y=220)    marks1 = Entry(root)    marks2 = Entry(root)    marks3 = Entry(root)                root.mainloop()
查看完整描述

2 回答

?
蕪湖不蕪

TA貢獻1796條經驗 獲得超7個贊

格式化您的代碼:

    if (average > 50):
        grade = "pass"
    else:
        grade = "fail"

    gradeText.set(grade)

代替:

    if (average > 50):
        grade = "pass"
    else:
        grade = "fail"

        gradeText.set(grade)

正如您現在看到的,您在 else 條件之外設置了 de gradeText。

編輯:在 python 中格式化代碼非常重要(就像在所有其他語言中一樣)要小心。


查看完整回答
反對 回復 2023-05-23
?
陪伴而非守候

TA貢獻1757條經驗 獲得超8個贊

Python 強制執行一個強大的縮進系統??匆幌逻@個:

    if (average > 50) :
            grade = "pass"
    else :
        grade = "fail"

        gradeText.set(grade)

這里grade = "pass"縮進太多了。這也會導致該else語句也被跳過,可能帶有一些警告。下一條要執行的指令是 thengrade = "fail"gradeText.set(grade)。請使用正確的縮進檢查您的代碼

    if (average > 50) :
        grade = "pass"
    else :
        grade = "fail"

    gradeText.set(grade)


查看完整回答
反對 回復 2023-05-23
  • 2 回答
  • 0 關注
  • 160 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號