当前位置: 首页 > news >正文

Python用Tkinter实现圆的半径 面积 周长 知一求二程序

Python用Tkinter实现圆的半径 面积 周长 知一求二程序

import tkinter as tk
from tkinter import messagebox
from tkinter import *app = tk.Tk()
app.title('圆的半径 面积 周长 知一求二程序')
app.geometry('425x125')label1 = tk.Label(app, text="半径")
label2 = tk.Label(app, text="面积")
label3 = tk.Label(app, text="周长")label1.grid(row=0)
label2.grid(row=1)
label3.grid(row=2)entryx=Entry(app,font=("宋体",20))
entryy=Entry(app,font=("宋体",20))
entryz=Entry(app,font=("宋体",20))entryx.grid(row=0,column=1)
entryy.grid(row=1,column=1)
entryz.grid(row=2,column=1)import math
class ACricle(object):def __init__(self,r):self.r = rdef get_area(self):return math.pi * math.pow(self.r, 2)def get_perimeter(self):return 2 * math.pi * self.rclass BCricle(object):def __init__(self,s):self.s = sdef get_radius(self):return math.pow((self.s/math.pi),0.5)def get_2perimeter(self):return math.pow((self.s/math.pi),0.5)*2*math.piclass CCricle(object):def __init__(self,p):self.p = pdef get_2radius(self):return self.p/(2*math.pi)def get_2area(self):return math.pow((self.p/(2*math.pi)),2)*math.pidef is_number(s):try:float(s)return Trueexcept ValueError:passtry:import unicodedataunicodedata.numeric(s)return Trueexcept (TypeError, ValueError):passreturn Falsedef ok1():if is_number(entryx.get()):r = float(entryx.get())if r<=0 :messagebox.showinfo(title='提示信息', message=u'您的输入无效!')else:a = ACricle(r)messagebox.showinfo(title='面积与周长', message=f'圆面积:{a.get_area()}圆周长:{a.get_perimeter()}')else:messagebox.showinfo("提示", "您输入有误!")returnapp.destroy()
def ok2():if is_number(entryx.get()):s = float(entryy.get())if s<=0 :messagebox.showinfo(title='提示信息', message=u'您的输入无效!')else:b = BCricle(s)messagebox.showinfo(title='半径与周长', message=f'圆半径:{b.get_radius()}圆周长:{b.get_2perimeter()}')else:messagebox.showinfo("提示", "您输入有误!")returnapp.destroy()
def ok3():if is_number(entryx.get()):p = float(entryz.get())if p<=0 :messagebox.showinfo(title='提示信息', message=u'您的输入无效!')else:c = CCricle(p)messagebox.showinfo(title='半径与面积', message=f'圆半径:{c.get_2radius()}圆面积:{c.get_2area()}')else:messagebox.showinfo("提示", "您输入有误!")returnapp.destroy()b1 = tk.Button(app,text='确定',width=10,command=ok1)
b1.grid(row=0,column=2)
b2 = tk.Button(app,text='确定',width=10,command=ok2)
b2.grid(row=1,column=2)
b3 = tk.Button(app,text='确定',width=10,command=ok3)
b3.grid(row=2,column=2)app.mainloop()

相关文章:

Python用Tkinter实现圆的半径 面积 周长 知一求二程序

Python用Tkinter实现圆的半径 面积 周长 知一求二程序 import tkinter as tk from tkinter import messagebox from tkinter import *app tk.Tk() app.title(圆的半径 面积 周长 知一求二程序) app.geometry(425x125)label1 tk.Label(app, text"半径") label2 tk.…...

电源环路补偿的目标是避免产生正反馈

在一般的认识中&#xff0c;进行电源环路设计的目的是保证电源输出端的电压稳定&#xff0c;在误差信号传入系统时&#xff0c;系统进行负反馈调节&#xff0c;矫正干扰信号带来的误差量。 那么&#xff0c;为什么要设置成这样&#xff0c;不稳定会有什么后果等等&#xff0c;…...

SSM+MySQL替换探索 openGauss对比postgresql12

SSM 介绍 SSM&#xff08;SpringSpringMVCMyBatis&#xff09;框架集由 Spring、MyBatis 两个开源框架整合而成&#xff08;SpringMVC 是 Spring 中的部分内容&#xff09;&#xff0c;常作为数据源较简单的 web 项目的框架。 Spring Spring 就像是整个项目中装配 bean 的大…...

XGboost的整理

XGboost&#xff08;extreme gradient boosting&#xff09;:高效实现了GBDT算法并进行了算法和工程上的许多改进。 XGboost的思路&#xff1a; 目标&#xff1a;建立k个回归树&#xff0c;使得树群的预测尽量接近真实值&#xff08;准确率&#xff09;而且有尽量大的泛化能力…...

java入门基础学习导览

本篇文章会持续更新直到更新完毕&#xff0c;关注博主不迷路~&#xff08;如果没有超链接&#xff0c;表示还没有更新到&#xff09; 一 JAVA语言基础 二 流程控制 三 数组 字符串 与正则表达式 四 JAVA面向对象编程 五 JAVA 异常处理 六 JAVA输入输出 七 泛型与容器类 …...

网工内推 | 上市公司售前,大专以上即可,最高15K*13薪,补贴多

01 北京神州新桥科技有限公司 招聘岗位&#xff1a;售前工程师 职责描述&#xff1a; 1、完成项目的售前技术支持工作&#xff1b; 2、 配合销售进行新产品及解决方案的推广工作&#xff1b; 3、 配合销售完成用户的售前技术交流方案准备、现场技术交流、技术方案宣讲等工作…...

JAVA开发第一个Springboot WebApi项目

一、创建项目 1、用IDEA新建一个SpringBoot项目 注意JDK与Java版本的匹配,如果想选择jdk低版本,先要更改服务器URL:start.aliyun.com 2、添加依赖 (1)、Lombok (2)、Spring Web (3)、Mybatis Framework (4)、MySqlDriver 项目中的配置 pom.xml 如下 <?…...

基于springboot+vue的疫情管理系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…...

Qt 类的前置声明和头文件包含

1. 在头文件中引入另一个类经常有两种写法 1&#xff09;前置声明 2&#xff09;头文件包含 #ifndef FRMCOUPLE2_H #define FRMCOUPLE2_H#include <QWidget> //头文件包含namespace Ui { class frmcouple2; }//前置声明&#xff1a;QPushButton frmchkeyboard…...

Qt+FFmpeg+opengl从零制作视频播放器-1.项目介绍

1.简介 学习音视频开发&#xff0c;首先从做一款播放器开始是比较合理的&#xff0c;每一章节&#xff0c;我都会将源码贴在最后&#xff0c;此专栏你将学习到以下内容&#xff1a; 1&#xff09;音视频的解封装、解码&#xff1b; 2&#xff09;Qtopengl如何渲染视频&#…...

Learn OpenGL 01

OpenGL的定义 一般它被认为是一个API(Application Programming Interface, 应用程序编程接口)&#xff0c;包含了一系列可以操作图形、图像的函数。然而&#xff0c;OpenGL本身并不是一个API&#xff0c;它仅仅是一个由Khronos组织制定并维护的规范(Specification)。 OpenGL规…...

Java开发从入门到精通(一):Java的基础语法进阶

Java大数据开发和安全开发 &#xff08;一&#xff09;Java注释符1.1 单行注释 //1.2 多行注释 /* */1.3 文档注释 /** */1.4 各种注释区别1.5 注释的特点1.5 注释的快捷键 &#xff08;二&#xff09;Java的字面量&#xff08;三&#xff09;Java的变量3.1 认识变量3.2 为什么…...

【C++从0到王者】第五十一站:B+树

文章目录 一、B树1.B树的概念2.B树的特性3.B树的插入的过程4.总结 二、B*树1. B*树的概念2.B*树的分裂 三、总结四、B树系列和哈希和平衡搜索树作对比五、B树的一些应用1.索引2.MySQL索引3.MyISAM2.InnoDB 一、B树 1.B树的概念 B树是B树的变形&#xff0c;是在B树基础上优化的…...

Spring Cloud 面试题及答案整理,最新面试题

Spring Cloud中断路器的原理及其作用是什么&#xff1f; Spring Cloud断路器的原理和作用基于以下几个关键点&#xff1a; 1、故障隔离机制&#xff1a; 在微服务架构中&#xff0c;断路器作为一种故障隔离机制&#xff0c;当某个服务实例出现问题时&#xff0c;断路器会“断…...

使用Kali搭建钓鱼网站教程

一、前言 使用kali工具一分钟制作出和目标网站一模一样的钓鱼网站。目标用户使用钓鱼网站登录自己的账号&#xff0c;账号密码将被自动劫持。 二、钓鱼网站的制作过程 1.在虚拟机VMvare中登录kali linux 2.准备一个目标网址 3.在kail中搜索使用工具 4.在弹出的选项中选择第一…...

《TCP/IP详解 卷一》第15章 TCP数据流与窗口管理

目录 15.1 引言 15.2 交互式通信 15.3 延时确认 15.4 Nagle 算法 15.4.1 延时ACK与Nagle算法结合 15.4.2 禁用Nagle算法 15.5 流量控制与窗口管理 15.5.1 滑动窗口 15.5.2 零窗口与TCP持续计时器 15.5.3 糊涂窗口综合征 15.5.4 大容量缓存与自动调优 15.6 紧急机制…...

ContentType类型总结

ContentType类型总结 Content-Type是一个HTTP头部字段&#xff0c;用于指示资源的媒体类型&#xff08;MIME类型&#xff09;&#xff0c;以及可选的字符集和编码方式。它告诉浏览器或其他客户端如何解释接收到的数据。以下是一些常见的Content-Type类型及其用途&#xff1a; t…...

基于脚手架创建vue工程

环境要求: node.js:前端项目的运行环境 npm:javascript的包管理器 vue cli&#xff1a;项目脚手架 忘了自己有没有安装可以通过在黑窗口输入命令看一下 node -v npm -v 这里出现版本号就说明已经安装了 安装脚手架的命令:npm i vue/cli -g 创建vue基础工程 1.在一个没…...

【Http】OSI 和 TCP/IP,OSI,TCP/IP为什么网络要分层?

目录 OSI 和 TCP/IP OSI TCP/IP 为什么网络要分层&#xff1f; OSI 和 TCP/IP OSI ![image-20231205101106040](.assets/image-20231205101106040.pn OSI 的七层体系结构概念清楚&#xff0c;理论也很完整&#xff0c;但是它比较复杂而且不实用&#xff0c;而且有些功能在…...

STM32(5) GPIO(2)输出

1.点亮LED 1.1 推挽接法和开漏接法 要想点亮LED&#xff0c;有两种接法 推挽接法&#xff1a; 向寄存器写1&#xff0c;引脚输出高电平&#xff0c;LED点亮&#xff1b;向寄存器写0&#xff0c;引脚输出低电平&#xff0c;LED熄灭。 开漏接法&#xff1a; 向寄存器写0&…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

系统设计 --- MongoDB亿级数据查询优化策略

系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log&#xff0c;共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题&#xff0c;不能使用ELK只能使用…...

在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module

1、为什么要修改 CONNECT 报文&#xff1f; 多租户隔离&#xff1a;自动为接入设备追加租户前缀&#xff0c;后端按 ClientID 拆分队列。零代码鉴权&#xff1a;将入站用户名替换为 OAuth Access-Token&#xff0c;后端 Broker 统一校验。灰度发布&#xff1a;根据 IP/地理位写…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)

可以使用Sqliteviz这个网站免费编写sql语句&#xff0c;它能够让用户直接在浏览器内练习SQL的语法&#xff0c;不需要安装任何软件。 链接如下&#xff1a; sqliteviz 注意&#xff1a; 在转写SQL语法时&#xff0c;关键字之间有一个特定的顺序&#xff0c;这个顺序会影响到…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面&#xff0c;避免重复抓取&#xff0c;以节省资源和时间。 在分布式环境下&#xff0c;增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路&#xff1a;将增量判…...

初探Service服务发现机制

1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能&#xff1a;服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源&#xf…...

LLMs 系列实操科普(1)

写在前面&#xff1a; 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容&#xff0c;原视频时长 ~130 分钟&#xff0c;以实操演示主流的一些 LLMs 的使用&#xff0c;由于涉及到实操&#xff0c;实际上并不适合以文字整理&#xff0c;但还是决定尽量整理一份笔…...

NPOI Excel用OLE对象的形式插入文件附件以及插入图片

static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...

NPOI操作EXCEL文件 ——CAD C# 二次开发

缺点:dll.版本容易加载错误。CAD加载插件时&#xff0c;没有加载所有类库。插件运行过程中用到某个类库&#xff0c;会从CAD的安装目录找&#xff0c;找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库&#xff0c;就用插件程序加载进…...

在树莓派上添加音频输入设备的几种方法

在树莓派上添加音频输入设备可以通过以下步骤完成&#xff0c;具体方法取决于设备类型&#xff08;如USB麦克风、3.5mm接口麦克风或HDMI音频输入&#xff09;。以下是详细指南&#xff1a; 1. 连接音频输入设备 USB麦克风/声卡&#xff1a;直接插入树莓派的USB接口。3.5mm麦克…...