有一个这样的著名理论,称之为木桶理论,大意是说:

一只水桶能装多少水取决于它最短的那块木板 。一只木桶想盛满水,必须每块木板都一样平齐且无破损,如果这只桶的木板中有一块不齐或者某块木板下面有破洞,这只桶就无法盛满水。

一只木桶能盛多少水,并不取决于最长的那块木板,而是取决于最短的那块木板。也可称为短板效应。任何一个组织,可能面临的一个共同问题,即构成组织的各个部分往往是优劣不齐的,而劣势部分往往决定整个组织的水平 。 因此,整个社会与我们每个人都应思考一下自己的"短板",并尽早补足它 。

(内容节选自百科)

问题来了,貌似这个理论有个BUG:有没有一种可能,我们可以将木桶倾斜过来?

(截自网图,doge)

emm,貌似可以试试,于是乎,我写了这样一个代码

'''
程序计算你学习情况,将八科组成一个木桶,计算木桶中可装的水
可能并不是最大值,因为木桶只会像向某一科目倾斜
标准输入最大为100
科目排列情况:语文
历史    政治
地理    生物
物理    化学数学
'''
#Yourouchour制作
import tkinter
from math import pi
class yyshu():def __init__(self):self.shu = '''
程序计算你学习情况,将八科组成一个木桶,计算木桶中可装的水
可能并不是最大值,因为木桶只会像向某一科目倾斜
标准输入最大为100
你的打分不是学分,而是根据学情和主观判断所打的分
不然语文数学天然偏高,语文扣的分天然多
科目排列情况:语文
历史      政治
地理      生物
物理      化学数学
'''def 排列(self,wd,line):tkinter.Label(self.ck, text=f' 请输入你的{wd}情况:').grid(row=line, column=0)a = tkinter.Entry(self.ck)a.grid(row=line,column=1)return adef 帮助(self):b = tkinter.Tk()b.title('帮助')tkinter.Label(b,text=self.shu).pack()def 输出(self,wd):text=f'''你最大可装的水有{round(wd,3)}
是{round(wd/(100*pi),3)}个学霸
是{round(wd/(80*pi),3)}个学生
是{round(wd/(60*pi),3)}个学渣
继续努力哦'''b = tkinter.Tk()b.title('计算结果')b.geometry('200x120')tkinter.Label(b,text=text).pack()def 窗口(self):self.ck = tkinter.Tk()self.ck.title('计算你的木桶')f = tkinter.Frame(self.ck)tkinter.Button(f,text='帮助',command=self.帮助).pack(side='left',anchor='nw',expand=True,fill='x')tkinter.Button(f,text='计算',command=self.计算).pack(side='left',anchor='nw',expand=True,fill='x')f.grid(row=0,column=0,columnspan=2)self.语文 = self.排列('语文',1)self.数学 = self.排列('数学',2)self.历史 = self.排列('历史',3)self.地理 = self.排列('地理',4)self.生物 = self.排列('生物',5)self.政治 = self.排列('政治',6)self.物理 = self.排列('物理',7)self.化学 = self.排列('化学',8)tkinter.mainloop()def 计算(self):try:语文 = int(self.语文.get())数学 = int(self.数学.get())历史 = int(self.历史.get())地理 = int(self.地理.get())生物 = int(self.生物.get())物理 = int(self.物理.get())化学 = int(self.化学.get())政治 = int(self.政治.get())fuzhu = [i>=0 for i in (语文, 数学, 历史, 地理, 生物, 物理, 化学, 政治)]if all(fuzhu):jieguo = [self.计算辅助(语文, 数学, (历史, 政治), (地理, 生物), (物理, 化学))]jieguo.append(self.计算辅助(历史,化学,(语文,地理),(政治,物理),(生物,数学)))jieguo.append(self.计算辅助(地理,生物,(历史,物理),(数学,语文),(政治,化学)))jieguo.append(self.计算辅助(物理,政治,(地理,数学),(历史,化学),(语文,生物)))print(jieguo)self.输出(max(jieguo))except Exception as e:print(e)def 计算辅助(self,shu1,shu3,list1,list2,list3):zuixiao = []if shu1 < shu3:xiao = (0.1464466094067262*(shu3-shu1))+shu1zhong = (shu1+shu3)/2da = (0.8535533905932737*(shu3-shu1))+shu1zuixiao.extend(xiao-i for i in list1 if i < xiao)zuixiao.extend(zhong-i for i in list2 if i < zhong)zuixiao.extend(da-i for i in list3 if i < da)elif shu1 > shu3:xiao = (0.1464466094067262*(shu1-shu3))+shu3zhong = (shu1+shu3)/2da = (0.8535533905932737*(shu1-shu3))+shu3zuixiao.extend(xiao-i for i in list3 if i < xiao)zuixiao.extend(zhong-i for i in list2 if i < zhong)zuixiao.extend(da-i for i in list1 if i < da)else:zuixiao.extend(shu1-i for i in list3 if i < shu1)zuixiao.extend(shu1-i for i in list2 if i < shu1)zuixiao.extend(shu1-i for i in list1 if i < shu1)zx = max(zuixiao, default=0)return (pi/2)*(shu1+shu3-2*zx)
if __name__ == '__main__':yyshu().窗口()

在这个程序中,我们创建了一个虚拟的木桶(没有建模),计算出了八门科目的成绩

你会看到大量的浮点数,这是因为数据是我手算的(所以可能会算错,这也就是为什么我选择了八科成绩,而不是九科,因为八科好算呢),然后用计算器将类似于根号二的数拆开了

当然,界面非常丑陋,命名十分不规范,程序比较混乱,能用就行,我也不指望二次开发……

实际上我也不算特别清楚,这八门科目的排列方式是否是合理的,程序也并没有返回到底哪个科目最好,控制台倒是会打印4个数据,这是4种情况下的计算,对应计算辅助的前两个参数

你的成绩取决于你最短的那一块木板?倾斜条件下容积的计算(附源码)相关推荐

  1. [附源码]计算机毕业设计JAVA学生考试成绩分析系统

    [附源码]计算机毕业设计JAVA学生考试成绩分析系统 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(In ...

  2. 世界上最短的DVD解码程序(附源码) (转)

    世界上最短的DVD解码程序(附源码) (转)[@more@] 前些天麻省理工学院的两位学生编写出世界上最短的 dvd解码 程序,而这个纪录最近被一位名为Charles M Hannum的程序员打破,他 ...

  3. 学生成绩管理系统-C语言(附源码)

    这是我初学C时的期末作业,贴出来. 系统功能层次图 源代码 //头文件 #include <stdio.h> #include <string.h> #include < ...

  4. 基于JavaWeb学生成绩信息管理系统(附源码资料)-毕业设计

    1. 适用人群 本课程主要是针对计算机专业相关正在做毕业设计.或者是需要实战项目的Java开发学习者. 2. 你将收获 提供:项目源码.项目文档.数据库脚本.软件工具等所有资料(在平台的课程附件中进行 ...

  5. (附源码)python学生成绩管理系统 毕业设计 061011

    python学生成绩管理系统的设计与实现 摘 要 随着互联网趋势的到来,各行各业都在考虑利用互联网将自己推广出去,最好方式就是建立自己的互联网系统,并对其进行维护和管理.在现实运用中,应用软件的工作规 ...

  6. (附源码)python+mysql+基于python的学生成绩管理系统 毕业设计071143

    Django学生成绩管理 摘 要 在国家重视教育影响下,教育部门的密确配合下,对教育进行改革.多样性.质量等等的要求,使教育系统的管理和运营比过去十年前更加理性化.依照这一现实为基础,设计一个快捷而又 ...

  7. python+mysql+基于python的学生成绩管理系统 毕业设计-附源码071143

    Django学生成绩管理 摘   要 在国家重视教育影响下,教育部门的密确配合下,对教育进行改革.多样性.质量等等的要求,使教育系统的管理和运营比过去十年前更加理性化.依照这一现实为基础,设计一个快捷 ...

  8. (附源码)springboot中学成绩管理 毕业设计100854

    Springboot中学成绩管理系统 摘 要 随着互联网趋势的到来,各行各业都在考虑利用互联网将自己推广出去,最好方式就是建立自己的互联网系统,并对其进行维护和管理.在现实运用中,应用软件的工作规则和 ...

  9. [附源码]java毕业设计学生考试成绩分析系统

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

最新文章

  1. Putty 工具 保存配置的 小技巧
  2. 算法-----数组------合并两个有序数组
  3. Wang Xifeng's Little Plot (poj 5024 DFS)
  4. python封装 继承 多态 举例_python面向对象中的封装、继承、多态
  5. 在android中使用USB进行通信的4种方法
  6. java ref 应用类型_Java四种引用类型
  7. 一个鼠标控制2台电脑简单方法
  8. JAVA课程设计——拼图小游戏
  9. 办公自动化系统项目报告
  10. eova1.4版本下拉框没有滚动条
  11. 计算机常用工具软件实训总结报告,计算机常用工具软件实训报告精编版.doc
  12. React Suspense lazy
  13. Android Studio中通过SQLiteDatabase类操作数据库
  14. 【底层思维】思维的深度决定人生的高度,底层思维的4个方法论
  15. 基于Python中docx与docxcompose批量合并多个Word文档文件并逐一添加分页符
  16. 数仓建模—实时数仓架构发展史
  17. 光伏发电站|太阳能电池板辐照度(4G)无线直流电压汇集电流测量采集监控技术方案
  18. Hibernate数据库方言
  19. 占Android的发展
  20. 2020-03-31-微信公众号3月份汇总

热门文章

  1. ALG1:GS算法,稳定婚姻匹配问题
  2. java 网页开发工具_制作网站常用的网页开发工具有哪些
  3. git clone 本地仓库
  4. php发帖功能源代码,discuz关于发帖数据保存功能
  5. 易灵思40nm Trion系列FPGA斩获“数字新芯奖”奖项
  6. 什么是DNS服务器?有哪些作用?
  7. nginx 限制文件上传速度_nginx上传文件速度慢 Nginx上传文件全部缓存解决方案 - 硬件设备 - 服务器之家...
  8. 换网线ip地址会变吗
  9. session方法获取登录邮箱之后的界面
  10. Mysql----高可用集群