基于Python实现可以进制转换和计算阶乘的科学计算器

类似项目 👁

项目背景⭐️

       本人已经做了两个基于Python的计算器项目,有需要的话,请看本文头部。这次基于Python制作一个科学计算器 项目,创建一个科学计算器。

项目需求💥

1、科学计算器应包括:计算器界面、0-9数字按键、清零和各功能按键;
2、功能1:二进制、八进制、十进制、十六进制、四种进制可相互切换;
3、功能2:加减乘除基本运算、平方、开方、x^y、 x^3等;
4、功能3:tan、cos、sin、n!、log等

代码展示💻

from tkinter import StringVar, Entry, Button
from tkinter import Tk
import math


class calculator:
    def __init__(self):
        window = Tk()
        window.title('基于TK的科学计算器')
        window.configure(background="white")
        self.string = StringVar()
        entry = Entry(window, textvariable=self.string, )
        entry.grid(row=0, column=0, columnspan=6)
        entry.configure(background="white")
        entry.focus()

        values = ["C", "DEL", "(", ")", "%", "!",
                  "sin", "sqrt", "e", "pow", "/", "oct",
                  "cos", "7", "8", "9", "*", "int",
                  "tan", "4", "5", "6", "-", "hex",
                  "pi", 
  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
好的,我可以帮您解决这个问题。下面是一个可以实现转换Python 计算器(包含二、八、十、十六四种转换)的代码: ```python def convert(base_from, base_to, number): if base_from == 10: return int(number, base_to) elif base_to == 10: return str(int(number, base_from)) else: return str(int(number, base_from), base_to) def calculator(): try: base_from = input('请输入原(2/8/10/16):') if base_from not in ['2', '8', '10', '16']: raise Exception('请输入正确的原数!') base_from = int(base_from) base_to = input('请输入目标(2/8/10/16):') if base_to not in ['2', '8', '10', '16']: raise Exception('请输入正确的目标数!') base_to = int(base_to) number = input('请输入要转换的数字:') if base_from == 10 and (not number.isdigit() or int(number) < 0): raise Exception('请输入正确的十正整数!') elif base_from != 10 and (not set(number).issubset(set('0123456789abcdef'[:base_from])) or int(number, base_from) < 0): raise Exception(f'输入错误!{number} 不是合法的 {base_from} 数!') result = convert(base_from, base_to, number) print(f'{number}(base {base_from}) = {result}(base {base_to})') except Exception as e: print(e) finally: calculator() print('转换计算器(支持二、八、十、十六)') calculator() ``` 这是一个简单的命令行应用程序,会不断循环等待用户输入转换计算请求并输出计算结果。用户可以根据提示输入原、目标以及要转换的数字,程序会自动计算转换结果并输出。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烤鲅鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值