20242225 2024-2025-2 《Python程序设计》实验二报告

20242225 2024-2025-2 《Python程序设计》实验二报告

课程:《Python程序设计》
班级:2422
姓名:
学号:20242225
实验教师:王志强
实验日期:2025年3月26日
必修/选修: 公选课

一.实验内容
1.设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善。
2.考核基本语法、判定语句、循环语句、逻辑运算等知识点

实验要求

创建工程项目,使用Python语言实现具体的操作运算,并完成程序调试和运行,代码托管到码云。

注:在华为ECS服务器(OpenOuler系统)和物理机(Windows/Linux系统)上使用VIM、PDB、IDLE、Pycharm等工具编程实现。

二. 实验过程及结果
1.根据老师课堂教授的基本内容,编写了一个可以进行加、减、乘、除以及对数计算的计算器,详细代码如下:

print("""
     /\_/\   喵~这是一只计算器,它可以计算复数和整数的运算
    ( o.o ) 
     >^<  ...     ——————20242225谢婧婕
""")


import math


def Csum(num1, num2):
    return num1 + num2


def Csub(num1, num2):
    return num1 - num2


def Cmulti(num1, num2):
    return num1 * num2


def CDiv(num1, num2):
    if num2 == 0:
        print("喵,除数不能为0")
        return 0
    return num1 / num2


def logab(a, b):
    return math.log(a, b)


flag = True
while flag:
    if input("喵?:需要复数(1)还是整数(2)运算?(输入1或2)\n") == "1":
        num1 = complex(input("喵,请输入一个数:"))
        num2 = complex(input("喵,请输入另一个数:"))
    else:
        num1 = int(input("喵,请输入一个数:"))
        num2 = int(input("喵,请输入另一个数:"))
    choice = input("喵,请输入运算符(+-*/ log):")
    if choice == "+":
        print("num1 ", choice, " num2 = ", Csum(num1, num2))
    elif choice == "-":
        print("num1 ", choice, " num2 = ", Csub(num1, num2))
    elif choice == "*":
        print("num1 ", choice, " num2 = ", Cmulti(num1, num2))
    elif choice == "/":
        print("num1 ", choice, " num2 = ", CDiv(num1, num2))
    elif choice == "log":
        print("log以", num2, "为底", num1, "的对数 = ", logab(num1, num2))

    conti = input("喵,是否继续?Y/N\n")
    if conti == "Y" or conti == "y":
        flag = True
    else:
        flag = False

因为老师要求计算器越复杂越好,所以我又加了一点东西,然后就可以计算三角函数的值

import math


def calculate_trigonometric_functions(angle):
    try:
        radians = math.radians(angle)
        sine = math.sin(radians)
        cosine = math.cos(radians)
        tangent = math.tan(radians)
        return sine, cosine, tangent
    except ValueError:
        print("输入的角度无效,请输入有效的数字。")
        return None, None, None
    except Exception as e:
        print(f"发生未知错误: {e}")
        return None, None, None


if __name__ == "__main__":
    try:
        angle = float(input("请输入一个角度: "))
        sine, cosine, tangent = calculate_trigonometric_functions(angle)
        if sine is not None:
            print(f"正弦值: {sine}")
            print(f"余弦值: {cosine}")
            print(f"正切值: {tangent}")
    except ValueError:
        print("输入无效,请输入一个有效的数字。")

2.在终端输入pyinstaller --onefile jsq.py生成.exe文件:

3.进行调试:

4.运行文件,结果如下:

5.程序上传到gitee https://gitee.com/xiehuifgdjt/yigecangku/tree/main/python

成功上传!

三. 实验过程中遇到的问题和解决过程
问题一:运行的时候sin cos处报错
解决方案:问了同学之后发现是把import math写成improt math了,修正之后就没有报错
问题二:没有考虑到输入的角度可能太抽象的问题
解决方案:问了一下ai怎么处理这个问题,然后ai让我加上了这一串
except Exception as e:
print(f"发生未知错误: {e}")
return None, None, None
后面这个问题就解决了

其他(感悟、思考等)
在写代码的时候引入python函数库会使写代码更加方便哈哈哈
引入函数时要把import math输入正确
考虑问题的时候要考虑全面

参考资料
《Python编程从入门到实践》

《零基础学Python》(2018 明日科技编著)

...

posted @ 2025-03-31 19:09  。。。shshhshs  阅读(16)  评论(0)    收藏  举报