20232319 2023-2024《Python程序设计》实验二报告

20232319黄津 2024-04-02 15:02:03

课程:《Python程序设计》
班级: 2323
姓名: 黄津
学号:20232319
实验教师:王志强
实验日期:2024年3月27日
必修/选修: 公选课

1.实验内容

设计一个多功能计算机程序

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

上传代码到gitee中

2.实验过程及结果

引入数学库,编写操作函数,涵盖实数与虚数范围的四则运算

import math

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

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

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

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

def pycomplex(a,b):
    complexoper = input("请输入复数运算")
    if complexoper=="+":
        print("a+b=",a+b)
        return a+b
    if complexoper=="-":
        print("a-b=",a-b)
        return a-b
    if complexoper=="*":
        print("a*b=",a*b)
        return a*b
    if complexoper=="/":
        print("a/b=",a/b)
        return a/b
  

主函数代码如下

既包含四则运算,也包括对数,三角函数等稍微复杂的计算。

flag = True
while flag:
    a = eval(input("请输入a:"))
    b = eval(input("请输入b:"))
    operator = input("运算符输入:")
    if operator=="+":
        print("a+b=",sum(a,b))
    if operator=="-":
        print("a-b=",sub(a,b))
    if operator=="*":
        print("a*b=",mut(a,b))
    if operator=="/":
        if b==0:
            print("error")
            continue
        print("a/b=",div(a,b))
    if operator=="com":
        pycomplex(a,b)    
    if operator=="log":
        print("log a b=",math.log(b,a))
    if operator=="sin":
        print("sin(a)=",math.sin(a*3.1415926535/180),",","sin(b)=",math.sin(b*3.1415926535/180))
    if operator=="cos":
         print("cos(a)=",math.cos(a*3.1415926535/180),",","cos(b)=",math.cos(b*3.1415926535/180)) 
    flag = False if input("是否要继续?Y or N\n")=="N" else True     

运行过程如下

img

已保存到gitee。详情请访问https://gitee.com/huangjin42953/test_python/blob/master/test_py24_3_27.py

img

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

1.习惯性的在 if 后添加括号,导致程序无法正确进行
解决:去除括号,改掉习惯

2.除0的情况出现错误
解决:if,else进行条件判断

4. 其他思考及感悟

1.eval函数的使用(查询ChatGPT):eval() 函数用于执行一个字符串表达式,并返回表达式的值。它将字符串当作有效的表达式来求值,并返回表达式的结果。
例如,如果你有一个字符串 '3 + 5',你可以使用 eval('3 + 5') 来计算这个表达式并返回结果 8
需要注意的是,eval() 函数会执行任何有效的表达式,因此在使用时要确保传入的字符串是可信任的,避免不安全的代码注入。

...全文
32 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

110

社区成员

发帖
与我相关
我的任务
社区描述
人生苦短,我用Python!
python3.11 高校
社区管理员
  • blackwall0321
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧