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;对持续集成的定…

机器学习朴素贝叶斯算法+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 优先 所有团队都一致把公开、文档完备且语义化版本管理的…

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

数据结构----------实现最小堆排序 原理&#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…

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…

K8S水平伸缩器 - 自动伸缩微服务实例数量

作者&#xff1a;justmine头条号&#xff1a;大数据达摩院微信公众号&#xff1a;大数据处理系统创作不易&#xff0c;在满足创作共用版权协议的基础上可以转载&#xff0c;但请以超链接形式注明出处。为了方便大家阅读&#xff0c;可以关注头条号或微信公众号&#xff0c;后续…

[蓝桥杯2019初赛]质数-质数筛or 水题

法一&#xff1a; 代码如下&#xff1a; #include <iostream> #include <cmath> using namespace std;bool check(int x) {for (int i 2; i < sqrt(x); i)if (x % i 0)return false;return true; }int main() {int n;int ans 0;for (int i 2; i; i) {if (c…

SqlServer 利用游标批量更新数据

SqlServer 利用游标批量更新数据Intro游标在有时候会很有用&#xff0c;在更新一部分不多的数据时&#xff0c;可以很方便的更新数据&#xff0c;不需要再写一个小工具来做了&#xff0c;直接写 SQL 就可以了Sample下面来看一个实际示例&#xff1a;-- 声明字段变量 DECLARE Re…

math:线性代数之行列式

math&#xff1a;线性代数之行列式 提供解题的方法总结 如果存在什么问题&#xff0c;欢迎批评指正&#xff01;谢谢!

[蓝桥杯2019初赛]旋转-找规律

代码如下&#xff1a; #include <iostream> using namespace std; const int N 110; int a[N][N];int main() {int n, m;cin >> n >> m;for (int i 1; i < n; i)for (int j 1; j < m; j)cin >> a[i][j];for (int i 1; i < m; i){for (in…