20221312 2022-2023-2 《Python程序设计》实验二报告

20221312 2022-2023-2 《Python程序设计》实验二报告

课程:《Python程序设计》
班级: 2213
姓名: 付安旭
学号:20221312
实验教师:王志强
实验日期:2022年3月23日
选修: 公选课

1.实验内容

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

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

2. 实验过程及结果

个人的计算机内实现了加减乘除的基本运算,同时增添了取对数、幂运算、阶乘、正余弦运算、开方,以及虚数的加减乘除幂等操作

代码如下

import math

def add(a, b):
    return a + b

def sub(a, b):
    return a - b

def mul(a, b):
    return a * b

def div(a, b):
    return a / b

def mod(a, b):
    return a % b

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

def power(a, b):
    return a ** b

def fact(a):
    res = 1
    for i in range(2, a + 1):
        res = res * i
    return res

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

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

def sqrt(a):
    return math.sqrt(a)

while 1:
    res = int(input("你要虚整数运算还是实整数运算?0代表虚数,1表示实数:"))
    if res :
        a = int(input("请输入一个数:"))
        b = int(input("请输入一个数:"))
        op = input("请选择你的操作 : 加:+, 减:-, 乘: *, 除:/, 取余:%, 幂:^, 对数:log,阶乘:!,正弦:sin,余弦:cos,开方:sqrt ")
        if op == "+":
            print("a + b =", add(a, b))
        elif op == "-":
            print("a - b =", sub(a, b))
        elif op == "*":
            print("a * b =", mul(a, b))
        elif op == "/":
            if b == 0:
                print("除数不能为0")
            else:
                print("a / b =", div(a, b))
        elif op == "%":
            print("a % b =", mod(a, b))
        elif op == "^":
            print("a ^ b =", power(a, b))
        elif op == "log":
            if a == 1:
                print("1不能做底数")
            else:
                print("log a b =", mylog(a, b))
        elif op == "!":
            if a < 0:
                print("a是负数,没有阶乘")
            else:
                print("a! =", fact(a))
            if b < 0:
                print("b是负数,没有阶乘")
            else:
                print("b! =", fact(b))
        elif op == "cos":
            print("cos a =", cos(a))
            print("cos b =", cos(b))
        elif op == "sin":
            print("sin a =", sin(a))
            print("sin b =", sin(b))
        elif op == "sqrt":
            if a < 0:
                print("被开方数a不能为负")
            else:
                print("sqrt a =", sqrt(a))
            if b < 0:
                print("被开方数b不能为负")
            else:
                print("sqrt b =", sqrt(b))
        else :
            print("目前不支持其他操作")
    else :
        a = complex(input("请输入一个数(a+bj的形式,其中j是虚数单位):"))
        b = complex(input("请输入一个数:(a+bj的形式,其中j是虚数单位)"))
        op = input(
            "请选择你的操作 : 加:+, 减:-, 乘: *, 除:/, 幂:^ ")
        if op == "+":
            print("a + b =", add(a, b))
        elif op == "-":
            print("a - b =", sub(a, b))
        elif op == "*":
            print("a * b =", mul(a, b))
        elif op == "/":
            if b == 0:
                print("除数不能为0")
            else:
                print("a / b =", div(a, b))
        elif op == "^":
            print("a ^ b =", power(a, b))
        else:
            print("目前不支持其他操作")
    flag = int(input("是否继续?继续输入0,停止输入1:"))
    if flag:
        break;




上传代码

上传1
上传2
上传3

代码1
代码2
代码3
修改1
修改2

运行结果

运行结果1
运行结果2

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

  • 问题1:输入虚数后无法读入。
    错误

  • 问题1解决方案:复习知识知,python里虚数的读入应该是a+bj的形式,而非a+bi的形式。
    修改

  • 问题2:不会将新项目提交到已有gitee仓库中

  • 问题2解决方案:上网查询资料,得知可以获取仓库进行链接,然后将代码提交到已有仓库中。
    获取链接1
    获取链接2
    之后打开的项目便是已经链接好仓库的项目,在其中将代码粘贴入或复制py文件即可

其他(感悟、思考等)

  • Python的函数运算确实比较方便,相对C语言,不必规定形参的类型可以使得一个函数接受不同类型的形参,从而减少多余函数的书写
  • Python对于数据的读入实在是太严格了,规定为实数的状况下不能读入一个虚数,否则会报错
  • 0的阶乘原来是1啊。

参考资料

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值