实验报告模板如下:

学号 2021-2022-2 《Python程序设计》实验x报告

课程:《Python程序设计》
班级: 2134
姓名: 王尊阳
学号:20213401
实验教师:王志强
实验日期:2022年3月31日
必修/选修: 公选课

1.实验内容

此处填写实验的具体内容;
设计并完成一个完整的计算器应用

2. 实验过程及结果

此处填写实验的过程及结果
2.1代码:

from cmath import cos,sin
import msvcrt
import os
def addition(x,y):
    return x+y;
def subtraction(x,y):
    return x-y;
def multiplication(x,y):
    return x*y;
def division(x,y):
    return x/y;
def power(x,y):
    return x**y;
def remainder(x,y):
    return x%y;
def quptient(x,y):
    return x//y;
flag =True
Pi=3.1415926
while flag == True:
    print("Welcome user to use the caculator")
    choice1=int(input("请输入您要计算的类型:实数计算请输入1;虚数计算请输入2:"))
    if choice1==2:
        print('''您可进行的操作有:
        1.加
        2.减
        3.乘
        4.除''')
        choice = int(input("请输入您想进行的操作:"))
        a=int(input("请输入第一个虚数的实部:"))
        b=int(input("请输入第一个虚数的虚部:"))
        c=int(input("请输入第二个虚数的实部:"))
        d=int(input("请输入第二个虚数的虚部:"))
        complex1=complex(a,b)
        complex2=complex(c,d)
        if choice==1:
            print(complex1,"+",complex2,"=",addition(complex1,complex2));
        elif choice==2:
            print(complex1,"-",complex2,"=",subtraction(complex1,complex2));
        elif choice==3:
            print(complex1,"*",complex2,"=",multiplication(complex1,complex2));
        elif choice==4:
            print(complex1,"/",complex2,"=",division(complex1,complex2));
        else:
            print("您的输入有误,请重新输入")
            continue
    if choice1==1:
        print('''您可进行的操作有:
        1.加
        2.减
        3.乘
        4.除
        5.余数
        6.次方或开方
        7.商
        8.sin
        9.cos
        10.阶乘
        11.十进制转为二\八\十六进制
        ''')
        choice = float(input("请输入您想进行的操作:"))
        num1=float(input("请您输入第一个数:"))
        num2=float(input("请您输入第二个数:"))
        if choice==1:
            print(num1,"+",num2,"=",addition(num1,num2));
        elif choice==2:
            print(num1,"-",num2,"=",subtraction(num1,num2));
        elif choice==3:
            print(num1,"*",num2,"=",multiplication(num1,num2));
        elif choice==4:
            print(num1,"/",num2,"=",division(num1,num2));
        elif choice==5:
            print(num1,"%",num2,"=",remainder(num1,num2));
        elif choice==6:
            print(num1,"**",num2,"=",power(num1,num2));
        elif choice==7:
            print(num1,"//",num2,"=",quptient(num1,num2));
        elif choice==8:
            num1=num1/180*Pi
            num2=num2/180*Pi
            print("sin(num1)的值为:",sin(num1),"sin(num2)的值为",sin(num2))
        elif choice==9:
            num1=num1/180*Pi
            num2=num2/180*Pi
            print("cos(num1)的值为:",cos(num1),"cos(num2)的值为",cos(num2))
        elif choice==10:
            a=num1
            b=num2
            while num1>1:
                num1-=1
                a=a*num1
            while num2>1:
                num2-=1
                b=b*num2
            print("num1的阶乘为:",a)
            print("num2的阶乘为:",b)
        elif choice==11:
            print("num1十进制数为:", int(num1))
            print("num1转换为二进制为:", bin(int(num1)))
            print("num1转换为八进制为:", oct(int(num1)))
            print("num1转换为十六进制为:", hex(int(num1)))
            print("num2十进制数为:", int(num2))
            print("num2转换为二进制为:", bin(int(num2)))
            print("num2转换为八进制为:", oct(int(num2)))
            print("num2转换为十六进制为:", hex(int(num2)))
        else:
            print("您的输入有误,请重新输入")
            continue
    print("按d退出\按a继续:")
    while True:
        if ord(msvcrt.getch()) in [68,100]:
            os.system("cls")
        elif ord(msvcrt.getch()) in [65,97]:
            break

2.2结果测试:

(1)实数计算器

1.加法

python课程设计 python课程设计报告模板_数据结构

python课程设计 python课程设计报告模板_十六进制_02

2.减法

python课程设计 python课程设计报告模板_解决方案_03

python课程设计 python课程设计报告模板_解决方案_04

3.乘法

python课程设计 python课程设计报告模板_数据结构_05

python课程设计 python课程设计报告模板_python课程设计_06

4.除法

python课程设计 python课程设计报告模板_解决方案_07

python课程设计 python课程设计报告模板_python课程设计_08

5.余数

python课程设计 python课程设计报告模板_解决方案_09

6.次方或者开方

python课程设计 python课程设计报告模板_十六进制_10

7.商

python课程设计 python课程设计报告模板_python课程设计_11

8.sin/cos

python课程设计 python课程设计报告模板_数据结构_12

python课程设计 python课程设计报告模板_python课程设计_13

9.阶乘

python课程设计 python课程设计报告模板_十六进制_14

10.进制转化

python课程设计 python课程设计报告模板_十六进制_15

2.3码云

python课程设计 python课程设计报告模板_数据结构_16

3. 实验过程中遇到的问题和解决过程

  • 问题1:sin/cos老是输出数值不对
  • 问题1解决方案:首先呢,因为Pi的定义不全,所以与标准值有误差也无所谓。其次呢,度数一定要转化成弧度制
  • 问题2:程序老是报错,却没有代码本身错误
  • 问题2解决方案:因为此计算机代码用到了大量循环、条件语句,所以一定要注意缩进格式,重新梳理了一遍逻辑关系,调整了缩进。

其他(感悟、思考等)

1.想要为我的计算器做一个封皮、按钮,但是所需要的库以及使用方法没法熟练运用,导致只能完成初始版本。希望在以后的学习中,可以多加了解皮面、按钮的制作。
2.计算器不只是加减乘除,还有许多的功能,要讲这些全都实现,需要下一定的功夫,要学会用debug调试找错误,不断改进。
3.在完成实验报告的同时,也是一个学习的过程。在编写计算器代码时,遇到不会的地方,总是会去网上搜索相关知识点。