猫史档案馆


【Python作品分享】全能计算机(未完全完成)【作品秀】

用户:尬聊boy尬聊boy查看:0 回复:1 评论:0 创建时间:2021-03-29T22:17:46


【作品展示】

center_image

 

【作品介绍】

HI,我是一位五年级的学生,所以,这个作品未完全涉及到其他高难度的数学知识,不过随着我的知识增多,我会慢慢地改良我的作品的。

---妈妈在也不用担心我的数学了!!!

 

【作品源代码】

# 导入所需要的模块
import easygui
import sys


# 新建一个备用的变量
num_Y = 0
num_F = 1
Big_num = []


# 定义一个K方法
def K():
    print()


# 进入计算机
print('-------------全能计算机--------------')
print('作者:Loading...            版本:1.15')
print('=' * 38)
K()

requirement = input('你要计算什么?(数字/图形/分数) :')

# 数字的运算
if requirement == '数字':
    number = input('你要计算什么?(加法/减法/乘法/除法) :')
    K()
    if number == '加法':
        num_1 = float(input('请输入第一个加数 :'))
        num_2 = float(input('请输入第二个加数 :'))
        sum = num_1 + num_2
        print('答案是 :', sum)
        K()  

    elif number == '减法':
        num_1 = float(input('请输入第一个减数 :'))
        num_2 = float(input('请输入第二个减数 :'))
        if num_1 > num_2:
            answer = num_1 - num_2
            print('答案是 :', answer)
            K()
        else:
            print('数字有问题 !')
            K()
            sys.exit()

    elif number == '乘法':
        num_1 = float(input('请输入第一个乘数 :'))
        num_2 = float(input('请输入第二个乘数 :'))
        answer = num_1 * num_2
        print('答案是 :', answer)

    elif number == '除法':
        num_1 = float(input('请输入第一个除数 :'))
        num_2 = float(input('请输入第二个除数 :'))
        answer = num_1 / num_2
        print('答案是 :', answer)
        K()

# 图形的运算
if requirement == '图形':
    shape = input('请输入你要计算的图形(三角图形/正方图形/长方图形/平行四边形/梯形) :')
    K()

    if shape == '三角图形':
        bottom = float(input('请输入底 :'))
        high = float(input('请输入高 :'))
        answer = bottom * high / 2
        K()
        print('面积是 :', answer)

    if shape == '正方图形':
        specific = input('是否立体?(是/否) :')
        if specific == '否':
            K()
            Side_length = float(input('请输入边长 :'))
            answer = Side_length  * Side_length
            K()
            print('面积是 :', answer)
        elif specific == '是':
            K()
            Edge_length = float(input('请输入棱长 :'))
            sum = Edge_length * 12
            answer = Edge_length * Edge_length * 6
            K()
            print('表面积是 :', answer, '棱长和是 :', sum)

    if shape == '长方图形':
        specific = input('是否立体?(是/否)')
        if specific == '否':
            long = float(input('请输入长 :'))
            width = float(input('请输入宽 :'))
            answer = long * width
            print('面积是 :', answer)
        if specific == '是':
            long = float(input('请输入长 :'))
            width = float(input('请输入宽 :'))
            Edge_length = float(input('请输入棱长 :'))
            sum = (long + width + Edge_length) * 4
            answer = (long * width + long * Edge_length + width * Edge_length) * 2
            print('表面积是 :', answer, '棱长和是 :', sum)

        if specific == '平行四边形':
            bottom = float(input('请输入底 :'))
            high = float(input('请输入高 :'))
            answer = bottom * high
            print('面积是 :', answer)
        
        if specific == '梯形':
            bottom_on = float(input('请输入上底 :'))
            bottom_in = float(input('请输入下底 :'))
            high = float(input('请输入高 :'))
            answer = (bottom_on + bottom_in) * high / 2
            print('面积是 :', answer)

# 分数的运算  
if requirement == '分数':
    specific = input('请输入你要运算的.(加法/减法/分数乘分数/整数乘分数/分数除法) :')
    if specific == '加法':
        K()
        fenmu_1 = float(input('请输入第一个分数的分母 :'))
        fenzi_1 = float(input('请输入第一个分数的分子 :'))
        fenmu_2 = float(input('请输入第二个分数的分母 :'))
        fenzi_2 = float(input('请输入第二个分数的分子 :'))
        if fenmu_1 == fenmu_2:
            sum = fenzi_1 + fenzi_2
            print('答案是 :', fenmu_1, '分之', sum)
        elif fenmu_1 % fenmu_2 == 0:
            fenmu_2 *= fenmu_1 / fenmu_2
            fenzi_2 *= fenmu_1 / fenmu_2
            sum = fenzi_1 + fenzi_2
            print('答案是 :', fenmu_1, '分之', sum)
        elif fenmu_2 % fenmu_1 == 0:
            fenmu_1 *= fenmu_2 / fenmu_1
            fenzi_1 *= fenmu_2 / fenmu_1
            sum = fenzi_2 + fenzi_1
            print('答案是 :', fenmu_2, '分之', sum)
        if fenmu_1 + 1 == fenmu_2 or fenmu_2 + 1 == fenmu_1:
            fenmu = fenmu_1 * fenmu_2
            fenzi_1 *= fenmu_2
            fenzi_2 *= fenmu_1
            sum = fenzi_1 + fenzi_2
            print('答案是 :', fenmu, '分之', sum)
        if fenmu_1 + 1 != fenmu_2 or  fenmu_2 + 1 != fenmu_1:
            num_Y = 1
            while True:
                if num_Y % fenmu_1 == 0 and num_Y % fenmu_2 == 0:
                    fenmu = num_Y
                    break
                else:
                    num_Y += 1
            fenzi_1 *= fenmu / fenmu_1
            fenzi_2 *= fenmu / fenmu_2
            sum = fenzi_1 + fenzi_2
            print('答案是 :', fenmu, '分之', sum)
    
    if specific == '减法': 
        K()
        fenmu_1 = float(input('请输入第一个分数的分母 :'))
        fenzi_1 = float(input('请输入第一个分数的分子 :'))
        fenmu_2 = float(input('请输入第二个分数的分母 :'))
        fenzi_2 = float(input('请输入第二个分数的分子 :'))
        
        # 正式进入分数减法环节
        if fenmu_1 == fenmu_2:
            fenzi = fenzi_1 - fenzi_2
            print('答案是 :', fenmu_1, '分之', fenzi)
        elif fenmu_1 % fenmu_2 == 0:
            fenmu = fenmu_1
            fenzi_2 *= fenmu /  fenmu_2
            fenzi = fenzi_1 - fenzi_2
            print('答案是 :', fenmu, '分之', fenzi)
        elif fenmu_2 % fenmu_1 == 0:
            fenmu = fenmu_2
            fenzi_1 *= fenmu / fenmu_1
            fenzi = fenzi_2 - fenzi_1
            print('答案是 :', fenmu, '分之', fenzi)
        if fenmu_1 - 1 != fenmu_2 or fenmu_2 - 1 != fenmu_1:
            num_Y = 1
            while True:
                if num_Y % fenmu_1 == 0 and num_Y % fenmu_2 == 0:
                    fenmu = num_Y
                    break
                else:
                    num_Y += 1
            fenzi_1 *= fenmu / fenmu_1
            fenzi_2 *= fenmu / fenmu_2
            fenzi = fenzi_1 - fenzi_2
            print('答案是 :', fenmu, '分之', fenzi)
    if specific == '分数乘分数':
        K()
        fenmu_1 = int(input('请输入第一个分数的分母 :'))
        fenzi_1 = int(input('请输入第一个分数的分子 :'))
        fenmu_2 = int(input('请输入第二个分数的分母 :'))
        fenzi_2 = int(input('请输入第二个分数的分子 :'))

        fenzi = fenzi_1 * fenzi_2
        fenmu = fenmu_1 * fenmu_2

        
        if fenzi < fenmu:
            for i in range(fenzi, fenmu):
                if fenzi % num_F == 0 and fenmu% num_F == 0:
                    Big_num.append(num_F)
                    num_F += 1
                else:
                    num_F += 1

            else:
                for i in range(fenmu, fenzi):
                    if fenmu % num_F == 0 and fenzi % num_F== 0:
                        Big_num.append(num_F)
                        num_F += 1
                    else:
                        num_F += 1

        num_F = max(Big_num)
        fenzi /= num_F
        fenmu /= num_F

        print('答案是 :', fenmu, '分之', fenzi)


    if specific == '整数乘分数':
        K()
        fenmu = int(input('请输入分母 :'))
        fenzi = int(input('请输入分子 :'))
        number = int(input('请输入整数(乘数):'))

        if number % fenmu == 0:
            fenzi = number / fenmu * fenzi
            K()
            print('答案是 :', fenzi)
            sys.exit()
        
        elif number % fenmu != 0:
            fenzi *= number 
            if fenzi % 3 == 0 and fenmu % 3 == 0:
                fenzi /= 3
                fenmu /= 3
                
            if fenzi % 2 == 0 and fenmu % 2 == 0:
                fenzi /= 2
                fenmu /= 2
                K()
            print('答案是 :', fenmu, '分之', fenzi)
            sys.exit()

        # 定义约分方法
        def yuefen(num):
            if zhengshu % num == 0 and fenmu % num == 0:
                zhengshu /= num
                answer = int(zhengshu) * fenzi
                fenmu /= num
                K()
                print('答案是 :', int(fenmu), '分之', answer)
                print()
                sys.exit()


        # 填入约分方法里的参数
        yuefen(2)
        yuefen(3)
        yuefen(4)
        yuefen(5)
        yuefen(6)
        yuefen(7)
        yuefen(8)
        yuefen(9)
        yuefen(10)
    

    if specific == '分数除法':
        fenmu = int(input('请输入分母 :'))
        fenzi = int(input('请输入分子 :'))
        number = int(input('请输入整数(乘数):'))
        
        # Python求分数除法的公式 : (整数 * 分母 / 分子)
        
        answer = number * (fenmu / fenzi)

        print('答案是 :', answer)
        
        

        
        

        





 

【提示】

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

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
冷鱼闲风冷鱼闲风

你的作品很不错(*๓´╰╯`๓)♡,能把自己所学的知识与py结合,当然你也可以提前学习六年级的数学。然后再初一初二.....的数学知识噢。加油(ง •̀_•́)ง。

点赞0


评论