20224104《Python程序设计》实验2报告

20224104童昊 2024-03-27 22:12:37

课程:《Python程序设计》
班级: 2241
姓名: 童昊
学号:20224104
实验教师:王志强
实验日期:2024年3月26日
必修/选修: 专选课

1.实验内容

设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善。
考核基本语法、判定语句、循环语句、逻辑运算等知识点。

2. 实验过程及结果

用def创建函数,完成加减乘除以及复数运算的编写;之后使用“if……elif……”语句将多种运算整合到一个程序中,用“while”语句,实现计算器的多次使用。最后,点击“run”选项运行程序,计算器运行无误,完成程序的编写。

首先,在pycharm中新建一个程序

接着编写代码

import math
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("o不能做除数")
        return 0
    return(a/b)
def csum (c1,c2):
    return c1+c2
def csub (c1,c2):
    return c1-c2
def cmul (c1,c2):
    return c1*c2
def cdiv (c1,c2):
    return c1/c2
def log(a,b):
    return math.log(b,a)
flag = True
while flag:

    print("""
            Welcome to this calculator that can do 
            addition, subtraction, multiplication, division, complex and logarithmic operations
            producer:20224104 童昊
            time:2024/3/26
            let's start now
    """)
    operator=input("请输入运算符号(+、-、*、/、c、log)")
    if operator == "+":
        a = int(input("请输入a="))
        b = int(input("请输入b="))
        print("a+b=",sum(a,b))
    elif operator == "-":
        a = int(input("请输入a="))
        b = int(input("请输入b="))
        print("a-b=",sub(a,b))
    elif operator == "*":
        a = int(input("请输入a="))
        b = int(input("请输入b="))
        print("a*b=", mul(a, b))
    elif operator == "/":
        a = int(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,")=", csum(c1,c2))
        elif coperator == "-":
            print("(",c1,")-(",c2,")=", csub(c1,c2))
        elif coperator == "*":
            print("(", c1, ")*(", c2, ")=", cmul(c1, c2))
        elif coperator == "/":
            print("(", c1, ")/(", c2, ")=", cdiv(c1, c2))
    elif operator == "log":
        a = eval(input("请输入a:"))
        b = int(input("请输入b:"))
        print("logab=", log(a, b))
flag= True if eval("是否继续游戏?Y or N")== "Y" else False

运行程序,进行加减乘除等运算

加法

减法

 

乘法 

除法 

复数

 对数

 最后,同步到gitee

 

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

问题:没有很好掌握代码编写及具体语法、语句应用

解决方案:回顾老师上课的讲解以及编写的步骤,我又翻看了《零基础学python》这本书,更深刻的理解了语法、语句的使用,并且我积极寻求同学帮助,最终取得成功

实验感悟

在编写代码的过程中,我不断回顾和巩固了基本语法、判定语句、循环语句以及逻辑运算等知识点。每一个功能的实现,都是对这些知识点的综合运用和深化理解。我逐渐领悟到,编程不仅仅是编写代码,更是一种逻辑思维的锻炼和解决问题的艺术。加减乘除模等基本运算的实现,虽然看似简单,但在实际应用中却需要细心和耐心。我不断调试和优化代码,确保程序的稳定性和准确性。知行合一,对于老师上课的讲解以及我的实践,我深感道路曲折却又增加了克服困难的挑战性与趣味,感谢老师的付出

参考资料

《零基础学python》

...全文
149 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文档是一份针对全国大学生电子设计竞赛(NUEDC)的“保姆级”实战指导手册,系统涵盖赛题解析与方案库、模块化代码与电路实现、以及测试报告范例三大核心部分。手册深入剖析了电赛七大赛题类别及其命题规律,强调“基本要求+发挥部分”的结构特点、指标逐年收紧趋势及测量与控制复合型题目的增加。通过数控直流电流源和频率特性测试仪两个典型案例,展示了从系统方案设计、关键器件选型到软硬件实现的完整路径。同时,提供了基于STM32 HAL库的ADC采样、PWM生成、OLED显示、无线通信等常用模块的详细电路原理与驱动代码,并辅以测试报告范例和评分标准解析,帮助参赛者规范撰写高质量设计报告。; 适合人群:参加全国大学生电子设计竞赛的本科生及指导教师,尤其适合有一定单片机和电路基础、希望在短时间内高效备赛并提升获奖概率的团队。; 使用场景及目标:①帮助参赛者快速掌握电赛命题规律与主流技术方案,精准应对电源类、控制类、仪器仪表类等高频赛题;②提供可复用的模块化代码与电路设计,加速硬件搭建与软件开发进程;③指导撰写符合评审标准的设计报告,强化误差分析与测试数据呈现,提升综合得分。; 阅读建议:建议按照“赛题分析→方案设计→模块实现→报告撰写”的流程顺序阅读,重点学习典型案例的整体设计思路与关键器件选型依据。对于代码与电路部分,应在实际开发板上动手验证,结合示波器、逻辑分析仪等工具进行调试。撰写报告时,务必参考文中测试表格与误差分析模板,确保数据完整、分析定量,避免因报告不规范而失分。;
内容概要:本文提出了一种基于局部质心的无监督图像分割方法,适用于2D和3D图像,通过Matlab代码实现。该方法不依赖标注数据,利用图像内部的局部质心信息进行聚类分析,从而实现对图像关键区域或物体边界的自动提取。文中系统阐述了算法的核心原理、实现流程及其在多种图像类型上的应用表现,重点展示了其在处理复杂结构图像时所具备的高鲁棒性与分割精度,尤其适用于缺乏先验标签的实际场景。; 适合人群:具备一定图像处理理论基础和Matlab编程能力,从事计算机视觉、医学影像分析、工业检测或遥感图像研究等相关领域的科研人员及研究生。; 使用场景及目标:①实现医学图像(如MRI、CT)中病灶区域的无监督自动分割;②应用于工业领域中三维物体表面缺陷的识别与定位;③完成遥感或生物显微图像在无标签条件下的像素级分割任务;④为后续高级视觉任务(如目标识别、行为追踪)提供高质量的前期特征支持; 阅读建议:建议读者结合所提供的Matlab代码进行动手实践,深入理解局部质心计算机制与聚类分割过程,尝试在不同模态图像上调整参数以优化分割效果,并可将其与K-means、Mean Shift等经典算法进行对比实验,全面掌握该方法的优势与适用边界。

93

社区成员

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

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