实验5.1:简单GUI编程-学生成绩统计

题目描述:利用tkinter库完成2项GUI编程任务。

  1. 设计如图1所示GUI图形界面;

2.计算学生四门课程的平均成绩。

图1

提示:tkinter生成窗体、标签、只读文本框、按钮,grid实现窗体布局,参考示例如下。

import tkinter as tk# 窗口对象
window = tk.Tk()
window.title("学生成绩统计")
result = tk.StringVar()def Calculate():try:x1 = float(ccc.get())x2 = float(pyy.get())x3 = float(jaa.get())x4 = float(wuu.get())xaver = (x1+x2+x3+x4)/4result.set(round(xaver, 1))except:showerror(title="提示", message="输入错误,请重新输入")# C/C++程序设计
cc = tk.Label(window, text="C/C++程序设计")
cc.grid(row=0, column=0, padx=5, pady=5, sticky="e")
ccc = tk.Entry(window, width=15)
ccc.grid(row=0, column=1, padx=5, pady=5, sticky="w")# Python程序设计
py = tk.Label(window, text="Python程序设计")
py.grid(row=1, column=0, padx=5, pady=5, sticky="e")
pyy = tk.Entry(window, width=15)
pyy.grid(row=1, column=1, padx=5, pady=5, sticky="w")# Java程序设计
ja = tk.Label(window, text="Java程序设计")
ja.grid(row=2, column=0, padx=5, pady=5, sticky="e")
jaa = tk.Entry(window, width=15)
jaa.grid(row=2, column=1, padx=5, pady=5, sticky="w")# 物联网工程
wu = tk.Label(window, text="物联网工程")
wu.grid(row=3, column=0, padx=5, pady=5, sticky="e")
wuu = tk.Entry(window, width=15)
wuu.grid(row=3, column=1, padx=5, pady=5, sticky="w")# 计算平均成绩
caluate1 = tk.Button(window, text="计算平均成绩", command=Calculate)
caluate1.grid(row=4, column=0, columnspan=2, pady=5)# 平均成绩
aver = tk.Label(window, text="平均成绩")
aver.grid(row=5, column=0, padx=5, pady=5, sticky="e")
averr = tk.Entry(window, width=15, state="readonly", textvariable=result)
averr.grid(row=5, column=1, padx=5, pady=5, sticky="w")window.mainloop()

实验5.3:扩展实验1

题目描述:编写面向对象代码完成实验5.1。

提示:一个面向对象示例。

import tkinter
from tkinter import *
from tkinter.messagebox import *class Calculate:def __init__(self):w = Tk()w.title("学生成绩统计")cc = Label(w,text="C/C++程序设计")  # 创建Label标签cc.grid(row=0, column=0, padx=5, pady=5, sticky="e")  # 使用grid进行布局self.v1 = IntVar()ccc = Entry(w, width=15, textvariable=self.v1)  # 创建Entry对象ccc.grid(row=0, column=1, padx=5, pady=5, sticky="w")  # 使用grid进行布局py = Label(w, text="Python程序设计")py.grid(row=1, column=0, padx=5, pady=5, sticky="e")self.v2 = IntVar()pyy = Entry(w, width=15, textvariable=self.v2)pyy.grid(row=1, column=1, padx=5, pady=5, sticky="w")ja= Label(w, text="Java程序设计")ja.grid(row=2, column=0, padx=5, pady=5, sticky="e")self.v3 = IntVar()jaa = Entry(w, width=15, textvariable=self.v3)jaa.grid(row=2, column=1, padx=5, pady=5, sticky="w")calculate1 = Button(w, text="统计学生成绩", command=self.Calculate,width=15,height=1)calculate1.grid(row=3, column=0, columnspan=2, pady=5)w.mainloop()def Calculate(self):try:x1 = int(self.v1.get())  # 获取C++成绩x2 = int(self.v2.get())  # 获取Python成绩x3 = int(self.v3.get())  # 获取Java成绩xaver = (x1+x2+x3)/3xmax = max(x1,x2,x3)xmin = min(x1,x2,x3)str1 = "平均成绩:"+str(xaver)+"\n"+\"最大成绩:"+str(xmax)+"\n"+\"最小成绩"+str(xmin)+"\n"showinfo(title="统计成绩",message=str1)except:showerror(title="提示", message="输入错误,请重新输入")Calculate()

某农业学校python(十)相关推荐

  1. 某农业学校python(七)

    实验4.1:Numpy数据分析 题目描述:利用numpy库完成2项编程任务.实验效果如图1所示. (1)创建一个一维数组arr1,存放10个[10, 99]随机整数,计算其最大值,最小值和平均值. ( ...

  2. 某农业学校python(五)

    1. 文件-加减法 [问题描述] 从文件jisuan.txt读入任意多行.每一行写有一个两个操作数参加的加法运算式或减法运算式.程序分析每一行的运算式,完成运算,把运算结果写入jieguo.txt,一 ...

  3. 某农业学校python(二)

    1. 根据用户输入的日期计算天数 [问题描述] 编写函数isLeap(year)用于判断year是否是闰年,若是闰年则返回True,否则返回False. 编写函数days(year,month)用于计 ...

  4. python新手教程 从零开始-Python零基础从零开始学习Python十分钟快速入门

    原标题:Python零基础从零开始学习Python十分钟快速入门 学习Python的,都知道Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言.Python是一种动态解释型的 ...

  5. 十大python开发软件-必看 | 2020年,Python十大应用领域介绍!

    原标题:必看 | 2020年,Python十大应用领域介绍! python作为一门当下极其火爆的编程语言,得到世界范围内无数编程爱好者和开发者喜欢并不是偶然的,除了要比其他编程语言更容易入门,pyth ...

  6. infor wms 中英文对照_【融合·君豪】新君豪中英文学校第十周食谱

    原标题:[融合·君豪]新君豪中英文学校第十周食谱 健 康 / 光盘行动,不够份量,随时添加 一 周 食 谱 星期一 早餐:小米粥,蛋炒米粉.肉松蛋糕,鸡蛋 午餐:骨头海带汤.胡萝卜焖猪手.花菜炒肉.油 ...

  7. 八十八、Python | 十大排序算法系列(下篇)

    @Author:Runsen @Date:2020/7/10 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏 ...

  8. 八十七、Python | 十大排序算法系列(上篇)

    @Author:Runsen @Date:2020/7/10 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏 ...

  9. PDF下载!《Python十大基础专题》《247个Python综合案例》《Pandas 20页学习笔记》...

    Python 技术栈 完整学习路线 如今书籍汗牛充栋,如何从零.循序渐进地掌握Python技术栈,成为很多读者朋友们关心的问题.最近,我特意按照Python技术栈的学习逻辑,把它划分为六个阶段,并且给 ...

最新文章

  1. mybatis中的TypeHandler设计与实现
  2. DCMTK:DcmAttributeFilter类的测试程序
  3. hibernate框架之主键生成
  4. java在mysql读取数据库数据库数据_JAVA的JDBC连接数据库以及读取数据库数据
  5. c语言输入成绩求不及格,输入一个学生信息,可以输出,不及格那个输出狗后会有程序停止运行...
  6. lastinsertid mysql_mysql错误,帮忙看看
  7. React.js 小书 Lesson1-2 - 前端组件化(一):从一个简单的例子讲起
  8. python常见的函数和类方法
  9. oracle 删除老存档,【转】oracle存档日志删除
  10. devc 能优化吗_小网站能做seo优化吗?如何为小公司网站做seo优化?
  11. 量化投资学习——多因子权重组合优化问题
  12. 【Hadoop学习笔记】大数据框架原理及主要工具概述
  13. NAC(网络准入控制)实施案例(20100531)
  14. java 串行化_Java中的串行化
  15. Ruoyi框架学习总结--总览篇
  16. l oracle红酒,2009 Miner Family Vineyards Oracle Red, Napa Valley, USA
  17. C语言课后习题(计算增长率比值
  18. Mac M1快速配置开发环境
  19. 特别报道:从全球两大黑客年会看攻击趋势
  20. win10暴力注册,无脑点击,一键注册,告别桌面重置烦恼!!!

热门文章

  1. SQL压缩日志操作步骤
  2. python数据分析:流量数据化运营(上)——知识点
  3. 今天是程序员节(Programmer’s Day)
  4. 用 Python 做动态二维码哄女友开心
  5. 用友U8 REP实践
  6. typescript 用法详解
  7. 【无人机编队规划】基于matlab遗传算法无人机编队位置规划【含Matlab源码 1987期】
  8. RAD Studio 10.3.x RIO 常规快捷键操作
  9. ngnix部署静态服务器
  10. 最潮IT精英高端商务笔记本——HP EliteBook 6930p