当前位置: 首页 > 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()
http://www.lryc.cn/news/313006.html

相关文章:

  • 电源环路补偿的目标是避免产生正反馈
  • SSM+MySQL替换探索 openGauss对比postgresql12
  • XGboost的整理
  • java入门基础学习导览
  • 网工内推 | 上市公司售前,大专以上即可,最高15K*13薪,补贴多
  • JAVA开发第一个Springboot WebApi项目
  • 基于springboot+vue的疫情管理系统
  • Qt 类的前置声明和头文件包含
  • Qt+FFmpeg+opengl从零制作视频播放器-1.项目介绍
  • Learn OpenGL 01
  • Java开发从入门到精通(一):Java的基础语法进阶
  • 【C++从0到王者】第五十一站:B+树
  • Spring Cloud 面试题及答案整理,最新面试题
  • 使用Kali搭建钓鱼网站教程
  • 《TCP/IP详解 卷一》第15章 TCP数据流与窗口管理
  • ContentType类型总结
  • 基于脚手架创建vue工程
  • 【Http】OSI 和 TCP/IP,OSI,TCP/IP为什么网络要分层?
  • STM32(5) GPIO(2)输出
  • shell脚本一键部署docker
  • vue2实现拖拽排序效果
  • 数据结构实验:二叉排序树
  • Java类加载流程?
  • Docker从0到1的开始【入门篇】
  • @ResponseStatus
  • 高效加载大文件(pandas+dask)
  • 游戏引擎分层简介
  • 向爬虫而生---Redis 探究篇6<Redis的Bigkey问题介绍>
  • 【开源物联网平台】FastBee认证方式和MQTT主题设计
  • Ubuntu Qt控制终端运行ros