python分数计算器_python GUI模拟实现计算器

本文介绍了一个使用Python编写的GUI计算器,通过Tkinter库实现,可以进行基本的数学运算。计算器界面简洁,支持整数和小数运算,包括加、减、乘、除,并且有清零、删除、正负号切换等功能。但未处理浮点数精度问题,结果可能存在误差。源代码附带详细解释。
摘要由CSDN通过智能技术生成

python编写计算器,供大家参考,具体内容如下

(1)计算器界面如下:

c24b1fc237d38a854b40cb5b047637b3.png

(2)基本满足了计算器的所有需求,使用时不可键盘输入,只能鼠标点击左键才可执行。初始时显示0.0,每次输入的内容存于D:\num.txt(启动程序时自动创建)

(3)" AC " 记录清零返回初始 0.0;" delete " 删除上一个输入内容;" +/- " 将正数为负数,负数为正数

(4)对于不同的进制数值系统,小数的精准值不同。

因此计算机会出现 0.1+0.2=0.3000000000004 的现象

能对数据进行截断处理,可以解决问题,但精度丧失。

(此计算机没有进行截断处理)

import tkinter,os

from tkinter import *

def temp(string):#空白间隔

temp=tkinter.Frame(string,width=20,height=50)

temp.pack()

flag=0

node=0

def num_work(): #更新显示框Lable

global flag

global node

with open("D:\\num.txt") as f:

for length in f:

string=length

top_work.configure(text=string.strip('\n')) # 重新设置标签文本

root.after(500,num_work) # 每隔0.5s调用函数num_work自身获取结果

def num_math_int(num1,num2):#整数运算

try:

if num2[0]=='+':

string=int(num1)+int(num2[1:])

elif num2[0]=='-':

string=int(num1)-int(num2[1:])

elif num2[0]=='x':

string=int(num1)*int(num2[1:])

elif num2[0]=='/':

string=int(num1)/int(num2[1:])

with open("D:\\num.txt",'a') as f:

f.write('\n'+str(string)+'\n')

except:

with open("D:\\num.txt",'a') as f:

f.write('\n错误')

def num_math_float(num1,num2):#小数运算

try:

if num2[0]=='+':</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值