20243113 实验二《Python程序设计》实验报告

20243113 2025-3-26 《Python程序设计》实验二报告

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

一.实验内容

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

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

二. 实验过程及结果

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

计算机代码如下

import math
print("""
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
                          计算机0.0.0内测版
                           支持多种计算方式
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
""")
#感觉加减等一些用不着函数
def chu(a,b):
    if b==0:
        print("被除数不能为0")
        return 0
    return a/b

def jie(num):
    yuanshi = num - 1
    while yuanshi > 0:
        num *= yuanshi
        yuanshi -= 1
    return num
def CsuanfaXZ(suanfaXZ):
    if suanfaXZ == "1":
        suanfa = input("选择你的运算方式(+ - * / % 指数 log):")
    elif suanfaXZ == "2":
        suanfa = input("选择你的运算方式(sin cos tan arcsin arccos arctan)")
    elif suanfaXZ == "3":
        suanfa = input("选择你的运算方式(阶乘 绝对值)")
    return suanfa

flag = True
while flag:
    suanfaXZ = input("选择计算机(1.两个计算数 2.三角函数 3.一个计算数):")
    suanfa = CsuanfaXZ(suanfaXZ)
    if suanfaXZ == "1":
        fushu = input("请问需要复数(1)还是实数(2):")
        if fushu == "1":
            num1 = complex(input("请输入一个数:"))
            num2 = complex(input("请另输入一个数:"))
        elif fushu == "2":
            num1 = int(input("请输入一个数:"))
            num2 = int(input("请另输入一个数:"))
    elif suanfaXZ == "2":
        num1 = float(input("输入弧度:"))
    else:
        num1 = int(input("输入一个数:"))
    if suanfa == "+":
        answer = num1+num2
        print(num1,suanfa,num2,"=",answer)
    elif suanfa == "-":
        answer = num1-num2
        print(num1,suanfa,num2,"=",answer)
    elif suanfa == "*":
        answer = num1*num2
        print(num1,suanfa,num2,"=",answer)
    elif suanfa == "/":
        answer = chu(num1,num2)
        print(num1,suanfa,num2,"=",answer)
    elif suanfa == "%":
        answer = num1%num2
        print(num1,suanfa,num2,"=",answer)
    elif suanfa == "log":
        answer = math.log(num1,num2)
        print("log以",num2,"为底",num1,"的对数为",answer)
    elif suanfa == "指数":
        answer = num1 ** num2
        print(num1,"的",num2,"次方为",answer)
    elif suanfa == "sin":
        answer = math.sin(num1)
        print(suanfa,num1,"=",answer)
    elif suanfa == "cos":
        answer = math.cos(num1)
        print(suanfa,num1,"=",answer)
    elif suanfa == "tan":
        answer = math.tan(num1)
        print(suanfa,num1,"=",answer)
    elif suanfa == "arcsin":
        answer = math.asin(num1)
        print(suanfa,num1,"=",answer)
    elif suanfa == "arccos":
        answer = math.acos(num1)
        print(suanfa,num1,"=",answer)
    elif suanfa == "arctan":
        answer = math.atan(num1)
        print(suanfa,num1,"=",answer)
    elif suanfa == "阶乘":
        answer = jie(num1)
        print(num1,"的阶乘为",answer)
    elif suanfa == "绝对值":
        if num1 > 0:
            print(num1,"的绝对值为",num1)
        else:
            print(num1,"的绝对值为",-num1)
    else:
        print("错误")

    jixu = input("是否继续?Y/N:")
    if jixu == "Y" or jixu == "y":
        flag = True
    else:
        flag = False

——————————————————————————————————————————————————————————————————————————————————————————

加减法以及复数展示

乘除展示(除法对被除数为0有反应)

取模,对数,指数展示

三角函数展示(只展示sin)

阶乘和绝对值展示

退出展示

上传gitee

https://gitee.com/fish3113/pythonhomework/blob/master/第二次实验.py

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

  • 问题1:对于一些运算,比如三角函数,对数等,不会使用函数
  • 问题1解决方案:通过百度搜索,使用math库里面的函数解决问题 math.sin() math.log(a,b)等
  • 问题2:复数不会使用
  • 问题2解决方案:通过百度,明白可以使用complex将input得到的字符串转换为复数,然后直接参加运算

其他(感悟、思考等)

通过学习python函数部分,可以极大的简化代码,让编写代码更加简单,清晰。
如果遇到不会的代码,百度是好帮手,ai也是

参考资料

从零开始学python

posted @ 2025-03-26 21:48  fish3113  阅读(40)  评论(0)    收藏  举报