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

20242212 2024-2025-2 《Python程序设计》实验二报告
课程:《Python程序设计》
班级: 2422
姓名: 王士霖
学号:20242212
实验教师:王志强
实验日期:2025年3月26日

一.实验内容
设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善。

考核基本语法、判定语句、循环语句、逻辑运算等知识点

二. 实验过程及结果
定义函数,方便后续代码简化与修改
利用标志flag控制计算器的循环使用与结束退出
通过用户自主选择来进行运算
调用math库

具体代码:

点击查看代码
`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("除数不能为零")
        return 0
    return num1 / num2
def logab(num1,num2):
    if num1 <= 0 or num1 == 1 or num2 <= 0:
        print("对数运算的底数必须大于0且不等于1,真数必须大于0")
        return 0
    return math.log(num2, num1)
def factorial(num1):
    if num1 < 0:
        print("阶乘运算的数必须是非负整数")
        return None
    return math.factorial(num1)

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

def sin(num1):
    return math.sin(num1)

def cos(num1):
    return math.cos(num1)

def tan(num1):
    return math.tan(num1)

flag = True
while flag:
    if input("请问:需要复数(1)还是整数(2)")=="1":
        num1 = complex(input("请输入一个复数:"))
        num2 = complex(input("请输入另一个复数:"))
    else:
        num1 = int(input("请输入一个数:"))
        num2 = int(input("请输入另一个数:"))
    choice = input("请输入运算符(+,-,*,/,log,!,幂,sin,cos,tan)")
    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以",num1,"为底",num2,"的对数=",logab(num1,num2))
    elif choice == "!":
        print("num1 =", choice,  factorial(num1))
    elif choice == "幂":
        print("num1", choice, "num2 =", power(num1, num2))
    elif choice == "sin":
        print("num1 =", choice,sin(num1))
    elif choice == "cos":
        print("num1 =", choice,  cos(num1))
    elif choice == "tan":
        print("num1 =", choice, tan(num1))
    finish = input("哥们,是否要继续?Y/N\n")
    if finish == "Y" or finish == "y":
        flag = True
    else:
        flag = False<details>
`

调试

结果

上传给gitee

三. 实验过程中遇到的问题和解决过程
循环过程中因代码对齐的失误导致出错
四.其他(感悟、思考等)
需要注意函数的定义与引用
python函数库相对C语言函数库方便引用。
循环需要注意对应
数字需要符合输入格式
运算符号较少
五.参考资料
[《PYthon编程从入门到实践》]
[《零基础学PYthon》]

  • [ ]
posted @ 2025-03-26 20:44  wwwaaasssl  阅读(8)  评论(0)    收藏  举报