20224219 吴鹏垚 实验二《Python程序设计》实验报告

20224219吴鹏垚 2024-04-01 17:07:09

# 20224219 2023-2024-2 《Python程序设计》实验2报告

课程:《Python程序设计》

班级: 2242

姓名: 吴鹏垚

学号:20224219

实验教师:王志强

实验日期:2023年3月26日

必修/选修: 公选课

## 1.实验内容

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

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

## 2. 实验过程及结果

1.通过老师课程讲解指导编写相关代码,首先使用def.定义新的函数,同时代码会显示"新*",定义相关加减乘除和C(复数)的运算,包括sum(),sub(),mul(),div(),log(),cdiv(),csum(),csub(),cmul()等相关运算。同时可以使用import math.来引入相关算法内容。

  • 其中注意if循环结构的引用和while flag函数的引用以实现重复进行运算。
import math
def log(a,b):
    return math.log(b,a)
def sum(a,b):
    return(a+b)
def sub(a,b):
    return(a-b)
def mul(a,b):
    return(a*b)
def div(a,b):
    if b == 0:
        print("0不能为除数")
        return 0
    return(a/b)
def Cdiv(c1,c2):
    return(c1/c2)
def Csum(c1,c2):
    return(c1+c2)
def Csub(c1,c2):
    return(c1-c2)
def Cmul(c1,c2):
    return(c1*c2)
flag = True
while flag:
    print("欢迎使用不知道能不能用的计算器")
    print("开发者:yeah it's me")
    print("----三土土土土土----")
    print("------------------")
    print("----坏了!救命救命----")
    print("----如果能算出来的话----")
    print("----记得留下WeChat----")
    operator = input("请输入运输符号(+-*/c log):")
    if operator == "+":
        a = eval(input("请输入a:"))
        b = int(input("请输入b:"))
        print("a+b=",sum(a,b))
    elif operator == "log":
        a = eval(input("请输入a:"))
        b = int(input("请输入b:"))
        print("logab=",log(a,b))
    elif operator == "-":
        a = eval(input("请输入a:"))
        b = int(input("请输入b:"))
        print("a-b=",sub(a,b))
    elif operator == "*":
        a = eval(input("请输入a:"))
        b = int(input("请输入b:"))
        print("a*b=",mul(a,b))
    elif operator == "/":
        a = eval(input("请输入a:"))
        b = int(input("请输入b:"))
        print("a/b=",div(a,b))
    elif operator == "c":
        coperator = input("请输入复数的运输+ - * /:")
        c1 = eval(input("请输入复数1(eg:1+2j):"))
        c2 = eval(input("请输入复数2(eg:1+2j):"))
        if coperator == "/":
            print("(",c1,")/(",c2,")=", Cdiv(c1, c2))
        elif coperator == "+":
            print("(",c1,")+(",c2,")=", Csum(c1, c2))
        elif coperator == "-":
            print("(",c1,")-(",c2,")=", Csub(c1, c2))
        elif coperator == "*":
            print("(",c1,")*(",c2,")=", Cmul(c1, c2))
    flag = True if  input("是否要继续运算?Y or N") == "y" else False

 

2.美化代码,可以在代码前输入print()加入相关内容美化计算器内容。

 

3.调试程序,确保能够正确运行并进行计算。

 4.将代码传输到Gitee码云端

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

问题1:在实验过程中对于代码的使用较为不熟练

解决方案:在老师的引导下编写相关公式,同时也可使用import math来查询相关公式

问题2:在代码运行过程中出现错误

解决方案:仔细检查每行代码,发现存在C1C2和ab误用情况,使得代码输出没有对象

## 其他(感悟、思考等)

编写Python计算器代码不仅是一个练习编程技巧的好方法,而且还使得我深入理解Python的语言特性、函数定义、计算流程等内容,尤其是理解函数的重要性,通过定义函数来执行基本运算使得代码更加清晰。同时让我熟悉控制流程,实现一个用户界面,让用户可以选择不同的运算,这需要用到if-else语句。通过编写计算机这个项目,我学会将课上课下内容相结合,不断操作,熟练操作才能够真正的把python语言学会运用,同时要细心检查代码内容,注意避免错误。

 

 

...全文
62 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文围绕基于NSGA-2算法的电-热-气综合需求响应(IDR)在综合能源系统中的多目标优化问题展开研究,提出了一种融合智能优化算法与能源系统协同调度的解决方案。研究系统性地构建了包含电力、热力与天然气多能耦合的综合能源系统模型,设计了以能效提升、运行成本降低和环境效益优化为目标的多目标优化框架,并采用NSGA-2算法求解该复杂非线性优化问题,获得Pareto最优解集。文中详细阐述了IDR机制建模方法、多目标优化问题的数学建模过程以及NSGA-2算法的关键实现步骤,包括编码方式、交叉变异策略与非支配排序机制,并通过Matlab代码实现了完整的仿真验证流程,展示了该方法在平衡多个冲突目标方面的优越性能。; 适合人群:具备电力系统、能源系统建模或优化算法基础的研究生、科研人员及工程技术人员,特别适用于从事综合能源系统规划、需求响应策略设计、多目标进化算法应用等相关领域的研究人员; 使用场景及目标:①应用于综合能源系统的运行优化与规划决策,支持多能互补场景下的协同调度分析;②为科研工作者提供NSGA-2算法在能源系统中实际应用的完整Matlab代码实现范例,助力学术论文复现、算法改进与模型拓展; 阅读建议:建议读者结合文中提供的Matlab代码,按照系统建模、目标函数设计、约束处理到算法实现的研究脉络逐步学习,重点关注Pareto前沿的生成过程、多目标权衡分析及算法参数敏感性,以深入掌握多目标进化算法在复杂能源系统优化中的工程化应用方法。

93

社区成员

发帖
与我相关
我的任务
社区描述
Python程序设计作业
软件构建 高校 北京·丰台区
社区管理员
  • blackwall0321
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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