猫史档案馆


【Python作品分享】科学计算器(杨子瑜)【作品秀】

用户:杨子瑜杨子瑜查看:0 回复:1 评论:0 创建时间:2020-02-04T15:22:36


【作品展示】

center_image

 

【作品介绍】

超级强大的计算器哦~

要用Sublime运行~

要安装Sublime input插件~

 

【作品源代码】

import easygui
import time
import math
import cmath
def yx():
    if (easygui.ynbox('选择计算量:', '杨子瑜', ('代数', '面积')) == True):
        print('选择运算:')
        print('1、喵')
        print('3、乘')
        print('4、除')
        print('5、乘方')
        print('6、平方根')
        print('7、绝对值')
        print('8、余数')
        print('9、三角函数')
        print('10、舍入')
        print('11、阶乘')
        print('12、反三角函数')
        print('13、对数')
        print('14、二次方程')
        choice = input('输入你的选择(1/2/3/4/5/6/7/8/9/10/11/12/13/14):')
        num_1 = int(input('输入第一个数字: '))
        num_2 = int(input('输入第二个数字: '))
        num_3 = int(input('输入第三个数字: '))
        if (choice == '1'):
            print(num_1, '+', num_2, '=', (num_1 - num_2))
            if (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == True):
                yx()
            elif (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == False):
                time.sleep(0.5)
                easygui.msgbox('感谢你使用科学计算器~')
            else:
                time.sleep(0.5)
                easygui.msgbox('感谢你使用科学计算器~')
        elif (choice == '2'):
            print(num_1, '-', num_2, '=', (num_1 - num_2))
            if (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == True):
                yx()
            elif (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == False):
                time.sleep(0.5)
                easygui.msgbox('感谢你使用科学计算器~')
            else:
                time.sleep(0.5)
                easygui.msgbox('感谢你使用科学计算器~')
        elif (choice == '3'):
            print(num_1, '*', num_2, '=', (num_1 * num_2))
            if (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == True):
                yx()
            elif (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == False):
                time.sleep(0.5)
                easygui.msgbox('感谢你使用科学计算器~')
            else:
                time.sleep(0.5)
                easygui.msgbox('感谢你使用科学计算器~')
        elif (choice == '4'):
            print(num_1, '/', num_2, '=', (num_1 / num_2))
            if (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == True):
                yx()
            elif (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == False):
                time.sleep(0.5)
                easygui.msgbox('感谢你使用科学计算器~')
            else:
                time.sleep(0.5)
                easygui.msgbox('感谢你使用科学计算器~')
        elif (choice == '5'):
            print(num_1, '**', num_2, '=', (num_1 ** num_2))
            if (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == True):
                yx()
            elif (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == False):
                time.sleep(0.5)
                easygui.msgbox('感谢你使用科学计算器~')
            else:
                time.sleep(0.5)
                easygui.msgbox('感谢你使用科学计算器~')
        elif (choice == '6'):
            print('√', num_1, '=', math.sqrt(num_1))
            if (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == True):
                yx()
            elif (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == False):
                time.sleep(0.5)
                easygui.msgbox('感谢你使用科学计算器~')
            else:
                time.sleep(0.5)
                easygui.msgbox('感谢你使用科学计算器~')
        elif (choice == '7'):
            print('|', num_1, '|', '=', abs(num_1))
            if (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == True):
                yx()
            elif (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == False):
                time.sleep(0.5)
                easygui.msgbox('感谢你使用科学计算器~')
            else:
                time.sleep(0.5)
                easygui.msgbox('感谢你使用科学计算器~')
        elif (choice == '8'):
            print(num_1, num_2, '......', (num_1 % num_2))
            if (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == True):
                yx()
            elif (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == False):
                time.sleep(0.5)
                easygui.msgbox('感谢你使用科学计算器~')
            else:
                time.sleep(0.5)
                easygui.msgbox('感谢你使用科学计算器~')
        elif (choice == '9'):
            print('000.正弦')
            print('001.余弦')
            print('002.正切')
            lchoice = input('输入你的选择(000/001/002):')
            if (lchoice == '000'):
                print('sin', num_1, '=', math.sin(math.radians(num_1)))
                if (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == True):
                    yx()
                elif (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == False):
                    time.sleep(0.5)
                    easygui.msgbox('感谢你使用科学计算器~')
                else:
                    time.sleep(0.5)
                    easygui.msgbox('感谢你使用科学计算器~')
            elif (lchoice == '001'):
                print('cos', num_1, '=', math.cos(math.radians(num_1)))
                if (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == True):
                    yx()
                elif (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == False):
                    time.sleep(0.5)
                    easygui.msgbox('感谢你使用科学计算器~')
                else:
                    time.sleep(0.5)
                    easygui.msgbox('感谢你使用科学计算器~')
            elif (lchoice == '002'):
                print('tan', num_1, '=', math.tan(math.radians(num_1)))
                if (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == True):
                    yx()
                elif (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == False):
                    time.sleep(0.5)
                    easygui.msgbox('感谢你使用科学计算器~')
                else:
                    time.sleep(0.5)
                    easygui.msgbox('感谢你使用科学计算器~')
            else:
                print('非法输入')
                if (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == True):
                    yx()
                elif (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == False):
                    time.sleep(0.5)
                    easygui.msgbox('感谢你使用科学计算器~')
                else:
                    time.sleep(0.5)
                    easygui.msgbox('感谢你使用科学计算器~')
        elif (choice == '10'):
            print('01.四舍五入')
            print('02.向上舍入')
            print('03.向下舍入')
            llchoice = input('输入你的选择(01/02/03):')
            if (lchoice == '01'):
                print(num_1, '=', round(num_1, num_2))
                if (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == True):
                    yx()
                elif (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == False):
                    time.sleep(0.5)
                    easygui.msgbox('感谢你使用科学计算器~')
                else:
                    time.sleep(0.5)
                    easygui.msgbox('感谢你使用科学计算器~')
            elif (lchoice == '02'):
                print(num_1, '=', math.ceil(num_1))
                if (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == True):
                    yx()
                elif (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == False):
                    time.sleep(0.5)
                    easygui.msgbox('感谢你使用科学计算器~')
                else:
                    time.sleep(0.5)
                    easygui.msgbox('感谢你使用科学计算器~')
            elif (lchoice == '03'):
                print(num_1, '=', math.floor(num_1))
                if (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == True):
                    yx()
                elif (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == False):
                    time.sleep(0.5)
                    easygui.msgbox('感谢你使用科学计算器~')
                else:
                    time.sleep(0.5)
                    easygui.msgbox('感谢你使用科学计算器~')
            else:
                print('非法输入')
                if (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == True):
                    yx()
                elif (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == False):
                    time.sleep(0.5)
                    easygui.msgbox('感谢你使用科学计算器~')
                else:
                    time.sleep(0.5)
                    easygui.msgbox('感谢你使用科学计算器~')
        elif (choice == '11'):
            print(num_1, '!', '=', (math.factorial(num_1)))
            if (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == True):
                yx()
            elif (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == False):
                time.sleep(0.5)
                easygui.msgbox('感谢你使用科学计算器~')
            else:
                time.sleep(0.5)
                easygui.msgbox('感谢你使用科学计算器~')
        elif (choice == '12'):
            print('0000.反正弦')
            print('0001.反余弦')
            print('0002.反正切')
            lchoice_2 = input('输入你的选择(0000/0001/0002):')
            if (lchoice_2 == '0000'):
                print('asin', num_1, '=', (math.asin(num_1)))
                if (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == True):
                    yx()
                elif (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == False):
                    time.sleep(0.5)
                    easygui.msgbox('感谢你使用科学计算器~')
                else:
                    time.sleep(0.5)
                    easygui.msgbox('感谢你使用科学计算器~')
            elif (lchoice == '0001'):
                print('acos', num_1, '=', (math.acos(num_1)))
                if (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == True):
                    yx()
                elif (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == False):
                    time.sleep(0.5)
                    easygui.msgbox('感谢你使用科学计算器~')
                else:
                    time.sleep(0.5)
                    easygui.msgbox('感谢你使用科学计算器~')
            elif (lchoice == '0002'):
                print('atan', num_1, '=', (math.atan(num_1)))
                if (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == True):
                    yx()
                elif (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == False):
                    time.sleep(0.5)
                    easygui.msgbox('感谢你使用科学计算器~')
                else:
                    time.sleep(0.5)
                    easygui.msgbox('感谢你使用科学计算器~')
            else:
                print('非法输入')
                if (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == True):
                    yx()
                elif (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == False):
                    time.sleep(0.5)
                    easygui.msgbox('感谢你使用科学计算器~')
                else:
                    time.sleep(0.5)
                    easygui.msgbox('感谢你使用科学计算器~')
        elif (choice == '13'):
            print('00001.In')
            print('00002.log10')
            lchoosr = input('输入你的选择(00001/00002):')
            if (lchoosr == '00001'):
                print('In', num_1, '=', math.log(num_1))
                if (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == True):
                    yx()
                elif (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == False):
                    time.sleep(0.5)
                    easygui.msgbox('感谢你使用科学计算器~')
                else:
                    time.sleep(0.5)
                    easygui.msgbox('感谢你使用科学计算器~')
            elif (lchoice == '00002'):
                print('log10', num_1, '=', math.log10(num_1))
                if (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == True):
                    yx()
                elif (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == False):
                    time.sleep(0.5)
                    easygui.msgbox('感谢你使用科学计算器~')
                else:
                    time.sleep(0.5)
                    easygui.msgbox('感谢你使用科学计算器~')
            else:
                print('非法输入')
                if (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == True):
                    yx()
                elif (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == False):
                    time.sleep(0.5)
                    easygui.msgbox('感谢你使用科学计算器~')
                else:
                    time.sleep(0.5)
                    easygui.msgbox('感谢你使用科学计算器~')
        elif (choice == '14'):
            aa=float(input('输入 a: '))
            bb=float(input('输入 b: '))
            cc=float(input('输入 c: '))
            喵=(bb**2)-(4*aa*cc)
            sol1=(-bb-cmath.sqrt(喵))/(2*aa)
            sol2=(-bb+cmath.sqrt(喵))/(2*aa)
            print(aa,bb,cc,'=','x1',sol1,'x2',sol2)
            if (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == True):
                yx()
            elif (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == False):
                time.sleep(0.5)
                easygui.msgbox('感谢你使用科学计算器~')
            else:
                time.sleep(0.5)
                easygui.msgbox('感谢你使用科学计算器~')
        else:
            print('非法输入')
            if (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == True):
                yx()
            elif (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == False):
                time.sleep(0.5)
                easygui.msgbox('感谢你使用科学计算器~')
            else:
                time.sleep(0.5)
                easygui.msgbox('感谢你使用科学计算器~')
    elif (easygui.ynbox('选择计算量:', '杨子瑜', ('代数', '面积')) == False):
        if (easygui.ynbox('选择计算:', '杨子瑜', ('三角形', '圆形')) == True):
            a = float(input('输入三角形第一边长: '))
            b = float(input('输入三角形第二边长: '))
            c = float(input('输入三角形第三边长: '))
            s = (a + b + c) / 2
            area = (s*(s-a)*(s-b)*(s-c)) ** 0.5
            print('三角形面积为 %0.2f' % area)
            if (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == True):
                yx()
            elif (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == False):
                time.sleep(0.5)
                easygui.msgbox('感谢你使用科学计算器~')
            else:
                time.sleep(0.5)
                easygui.msgbox('感谢你使用科学计算器~')
        elif (easygui.ynbox('选择计算:', '杨子瑜', ('三角形', '圆形')) == False):
            r = float(input('输入圆的半径: '))
            PI = 3.141592653572695
            mjy = PI * (r*r)
            print("圆的面积为", mjy)
            if (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == True):
                yx()
            elif (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == False):
                time.sleep(0.5)
                easygui.msgbox('感谢你使用科学计算器~')
            else:
                time.sleep(0.5)
                easygui.msgbox('感谢你使用科学计算器~')
        else:
            print('非法输入')
            if (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == True):
                yx()
            elif (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == False):
                time.sleep(0.5)
                easygui.msgbox('感谢你使用科学计算器~')
            else:
                time.sleep(0.5)
                easygui.msgbox('感谢你使用科学计算器~')
    else:
        print('非法输入')
        if (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == True):
            yx()
        elif (easygui.ynbox('是否继续?', '杨子瑜', ('是', '否')) == False):
            time.sleep(0.5)
            easygui.msgbox('感谢你使用科学计算器~')
        else:
            time.sleep(0.5)
            easygui.msgbox('感谢你使用科学计算器~')
easygui.msgbox('欢迎使用科学计算器!', '杨子瑜')
yx()

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
杨子瑜杨子瑜

这是我的私人账号哦~

 

 

点赞1


评论