import tkinter as tk result=tk.StringVar() root=tk.Tk() root.geometry('800x800') root.title('学生成绩统计') label1=tk.Label1(root,text='C/C++程序设计') label1.grid(row=0,column=0,paxd=5,pady=5) ent1=tk.Entry(root,width=15) ent1.grid(row=0,column=1,padx=5,pady=5) label2=tk.lable1(root,text='Python程序设计') label2.grid(row=2,column=0,paxd=5,pady=5) ent2=tk.Entry(root,width=15) ent2.grid(row=2,column=1,padx=5,pady=5) label3=tk.lable1(root,text='Java程序设计') label3.grid(row=4,column=0,paxd=5,pady=5) ent3=tk.Entry(root,width=15) ent3.grid(row=4,column=1,padx=5,pady=5) label4=tk.lable1(root,text='物联网工程') label4.grid(row=6,column=0,paxd=5,pady=5) ent4=tk.Entry(root,width=15) ent4.grid(row=6,column=1,padx=5,pady=5) def ave(): c=float(ent1.get()) p=float(ent2.get()) j=float(ent3.get()) w=float(ent4.get()) result.set((c+p+j+w)/2) button1=tk.Button(root,text='计算平均成绩',command=ave) button1.grid(row=8,column=2,padx=5,pady=5) root.mainloop()有什么问题
时间: 2023-08-10 14:05:20 浏览: 122
代码中存在以下问题:
1. 第2行的result=tk.StringVar()应该写成result=tk.DoubleVar(),因为计算平均成绩需要用到浮点型变量。
2. 第4行的label1=tk.Label1(root,text='C/C++程序设计')应该写成label1=tk.Label(root,text='C/C++程序设计'),因为Label的类名为Label,不是Label1。
3. 第7、10、13行的paxd应该改为padx,因为拼写错误。
4. 第8、11、14行的tk.lable1应该改为tk.Label,因为拼写错误。
5. 第17行的def ave():缺少了冒号。
6. 第21行的result.set((c+p+j+w)/2)应该改为result.set((c+p+j+w)/4),因为计算平均成绩需要除以科目数,而这里有4个科目。
修改后的代码如下:
```python
import tkinter as tk
result=tk.DoubleVar()
root=tk.Tk()
root.geometry('800x800')
root.title('学生成绩统计')
label1=tk.Label(root,text='C/C++程序设计')
label1.grid(row=0,column=0,padx=5,pady=5)
ent1=tk.Entry(root,width=15)
ent1.grid(row=0,column=1,padx=5,pady=5)
label2=tk.Label(root,text='Python程序设计')
label2.grid(row=2,column=0,padx=5,pady=5)
ent2=tk.Entry(root,width=15)
ent2.grid(row=2,column=1,padx=5,pady=5)
label3=tk.Label(root,text='Java程序设计')
label3.grid(row=4,column=0,padx=5,pady=5)
ent3=tk.Entry(root,width=15)
ent3.grid(row=4,column=1,padx=5,pady=5)
label4=tk.Label(root,text='物联网工程')
label4.grid(row=6,column=0,padx=5,pady=5)
ent4=tk.Entry(root,width=15)
ent4.grid(row=6,column=1,padx=5,pady=5)
def ave():
c=float(ent1.get())
p=float(ent2.get())
j=float(ent3.get())
w=float(ent4.get())
result.set((c+p+j+w)/4)
button1=tk.Button(root,text='计算平均成绩',command=ave)
button1.grid(row=8,column=2,padx=5,pady=5)
root.mainloop()
```
阅读全文