python通过tkinter界面库实现三角形成立的测试

python通过tkinter界面库实现三角形成立的测试

from tkinter import *
from tkinter import messagebox
login = Tk()
login.title('验证')
login.geometry('800x600')
Label(login,text='实现三角形成立的验证').grid(row=0,column=0,columnspan=2)
Label(login,text='边a:').grid(row=1,column=0)
Label(login,text='边b:').grid(row=2,column=0)
Label(login,text='边c:').grid(row=3,column=0)
name = Entry(login)
name.grid(row=1,column=1)
name1 = Entry(login)
name1.grid(row=2,column=1)
name2 = Entry(login)
name2.grid(row=3,column=1)def verity(names):flag=Trueif '.' in names:#浮点数验证if names[0]=='-':flag=Falseelse:names=names.replace('.','')for s in names:if ord(s)<48 or ord(s)>57: #0-9flag=Falsebreakelse:for s in names:if ord(s)<48 or ord(s)>57: #0-9flag=Falsebreakreturn flagdef validate():name11=name.get()name12 = name1.get()name13 = name2.get()print(name11,name12,name13)#1负数、0和字符验证if name11!='' and name12!='' and name13!='' and verity(name11) and verity(name12) and verity(name13) and name11[0]!='0'and name12[0]!='0'and name13[0]!='0':messagebox.showinfo(title='success', message='输入边长合格')# 2三角形成立的条件if float(name11) + float(name12) > float(name13) and float(name11) + float(name13) > float(name12) and float(name13) + float(name12) > float(name11):messagebox.showinfo(title='success', message='符合三角形成立条件')if float(name11) ** 2 + float(name12) ** 2 == float(name13) ** 2 or float(name11) ** 2 + float(name13) ** 2 == float(name12) ** 2 or float(name13) ** 2 + float(name12) ** 2 == float(name11) ** 2:messagebox.showinfo(title='success', message='该三角形是直角三角形')elif float(name11) == float(name12) == float(name13) or float(name11) == float(name13) == float(name12) or float(name13) == float(name12) == float(name11):messagebox.showinfo(title='success', message='该三角形是等边三角形')elif float(name11) == float(name12) or float(name11) == float(name13) or float(name13) == float(name12):messagebox.showinfo(title='success', message='该三角形是等腰三角形')else:messagebox.showinfo(title='success', message='该三角形是普通三角形')else:messagebox.showerror(title='wrong', message='不符合三角形成立条件')else:messagebox.showerror(title='wrong', message='输入边长不合格')def main():Button(login, text='测试', command=validate).grid(row=4, column=0, columnspan=2)login.mainloop()if __name__ == '__main__':main()

运行结果:
在这里插入图片描述

注:本文中存在的不足,请在留言区批评指正,谢谢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/312025.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

研发协同平台持续集成实践

源宝导读&#xff1a;“持续集成”是敏捷最佳实践中&#xff0c;保证高质量交付的关键环节之一。本文将分享&#xff0c;在大规模研发在线协同的背景下&#xff0c;如何支撑在线持续集成的高性能和高可用。 一、什么是持续集成 在《持续集成》一书中&#xff0c;对持续集成的定…

ios::sync_with_stdio(false)的作用

默认的时候&#xff0c;cin与stdin总是保持同步的&#xff0c;也就是说这两种方法可以混用&#xff0c;而不必担心文件指针混乱&#xff0c; 所以一般会用ios::sync_with_stdio(false)来取消cin与stdin的同步&#xff0c;从而使cin达到和scanf相差无几的输入效率。 代码如下&a…

机器学习朴素贝叶斯算法+tkinter库界面实现好瓜坏西瓜分类

机器学习朴素贝叶斯算法tkinter库界面实现好瓜坏西瓜分类 一、界面实现 from tkinter import * from tkinter import ttk import NBdef main():win Tk()win.title(甜的西瓜挑选系统)win.geometry(1000x600)lb2 Label(win, text"色泽", font"tahoma 12 norma…

《ASP.NET Core 微服务实战》-- 读书笔记(第3章)

第 3 章 使用 ASP.NET Core 开发微服务 微服务定义 微服务是一个支持特定业务场景的独立部署单元。它借助语义化版本管理、定义良好的 API 与其他后端服务交互。它的天然特点就是严格遵守单一职责原则。 为什么要用 API 优先 所有团队都一致把公开、文档完备且语义化版本管理的…

[蓝桥杯2019初赛]数的分解-枚举

题目描述 把2019分解成3个各不相同的正整数之和&#xff0c;并且要求每个正整数都不包含数字2和4&#xff0c;一共有多少种不同的分解方法&#xff1f; 注意交换3个整数的顺序被视为同一种方法&#xff0c;例如1000100118 和1001100018 被视为同一种。 关键代码: int j i …

数据结构----------实现最小堆排序

数据结构----------实现最小堆排序 原理&#xff1a; 来源于---------------趣学数据结构 代码&#xff1a; #include<stdio.h> #include<stdlib.h> #define N 65535//最大个数排序 int r[N] { -1,1,4,590,4,2,8,7,5,89,67,5,2,1,67,86,54 };//存储要排序的数,第…

abp vnext2.0之核心组件模块加载系统源码解析

abp vnext是abp官方在abp的基础之上构建的微服务架构,说实话,看完核心组件源码的时候,很兴奋,整个框架将组件化的细想运用的很好,真的超级解耦.老版整个框架依赖Castle的问题,vnext对其进行了解耦,支持AutoFac或者使用.Net Core的默认容器.vnext依然沿用EF core为主,其余ORM为辅…

最大堆和最小堆排序

最大堆和最小堆排序 原理参考趣学数据结构 代码 #include<stdio.h> #include<stdlib.h> int r[] { -1,1,4,590,4,2,8,7,5,89,67,5,2,1,67,86,54 };//存储要排序的数,第一个元素不存储元素赋值为-1 int length sizeof(r) / sizeof(int);//待排序的数的个数 void s…

sstream应用举例

题目描述 把2019分解成3个各不相同的正整数之和&#xff0c;并且要求每个正整数都不包含数字2和4&#xff0c;一共有多少种不同的分解方法&#xff1f; 注意交换3个整数的顺序被视为同一种方法&#xff0c;例如1000100118 和1001100018 被视为同一种。 代码如下&#xff1a; …

结合现有分布式系统的数据一致性思考

背景我们项目本身分成了多套系统&#xff0c;但数据上有要求一致性的地方&#xff08;比如订单状态&#xff0c;通俗点讲就是系统A更新了订单状态为状态一&#xff0c;那么系统B也需要把相同订单的订单状态更新成状态一&#xff0c;这样可以让我们不管是读系统A还是系统B的同一…

[蓝桥杯2019初赛]特别数的和-枚举

题目描述 小明对数位中含有2、0、1、9 的数字很感兴趣&#xff08;不包括前导0&#xff09; 在1到40中这样的数包括1、2、9、10 至32、39 和40&#xff0c;共28 个&#xff0c;他们的和是574。 请问&#xff0c;在1到n 中&#xff0c;所有这样的数的和是多少&#xff1f; 输入…

wordList01

wordList one 如果存在什么问题请批评指正&#xff01;谢谢

《ASP.NET Core 微服务实战》-- 读书笔记(第4章)

第 4 章 后端服务现实中的服务不可能处于真空之中&#xff0c;大多数服务都需要与其他服务通信才能完成功能。我们将这些支持性服务称为后端服务&#xff0c;接下来我们将通过创建一个新的服务并修改之前的团队服务与这个服务通信&#xff0c;以探索如何创建并消费后端服务。微…

WordList02

WordList 2 如果存在什么问题欢迎批评指正&#xff01;谢谢&#xff01;

CentOS7 安装 Jenkins( 构建 Vue 和 dotNET Core )

之前的自动构建工具 Jenkins 是部署在公司内网的 Windows 服务器上&#xff0c;现在武汉处于非常时期&#xff0c;兄弟们都在家自我隔离&#xff0c;为了远程提交的代码能自动构建&#xff0c;需要在外网的 CentOS 服务器上搭建 Jenkins 环境来进行构建工作。目的产品采用前后端…

shell(希尔排序)

shell&#xff08;希尔排序&#xff09; 原理:参考趣学数据结构 代码&#xff1a; #include<stdio.h> #include<stdlib.h> void shellInsert(int b[],int dk,int length) {//希尔排序以dk的增量插入int j;for (int i 1 dk; i < length-1; i) {b[0] b[i];//哨…

[蓝桥杯2019初赛]等差数列-数列

解题思路: 给你n个数&#xff0c;是某个等差数列的一部分&#xff0c;问该等差数列最小有几项&#xff1f;&#xff1a;((最大数−最小数)/d)1((最大数-最小数)/d)1((最大数−最小数)/d)1,其中d是该等差数列所有&#xff08;所有已知数与最小数差值&#xff09;的最大公因数&am…

Dynatrace成功扩展kubernetes全栈可观察性

软件情报公司Dynatrace&#xff08;NYSE&#xff1a;DT&#xff09;在Perform 2020会议上宣布了对Kubernetes支持的新增强功能。Dynatrace可解释的AI引擎DavisTM现在自动获取其他Kubernetes事件和指标&#xff0c;使其能够在整个Kubernetes集群&#xff0c;容器和工作负载的堆栈…

wordList3

wordList3 如果存在什么问题&#xff0c;欢迎批评指正&#xff01;谢谢&#xff01;

[蓝桥杯2019初赛]矩形切割-找规律

代码如下&#xff1a; #include <iostream> using namespace std;int main() {int a, b;int ans 1;cin >> a >> b;while (1) {if (a 1 && b 1 || a b)break;if ( a > b) {int c b;b a;a c;}b b - a;ans;}cout << ans << end…