2023(春)Python程序设计作业3: 函数及应用

软工211任杰 2023-春-学生 2023-05-27 21:51:54

一 、函数定义及使用

题目描述

设计一个函数,输入两个参数x和y,返回它们的和、差、积、商(商保留两位小数)。如果y等于0,则返回None。

输入

两个数x和y,其中y不能为0。

输出

四个数,分别为x和y的和、差、积、商(保留两位小数)。

样例

输入:5 3

输出:8 2 15 1.67

代码如下:

def Calculate(a:float,b:float):
    if b==0:
        return None
    #用round函数实现对数字的四舍五入
    #也可以使用字符串格式化方法实现:"%.2f",但返回的是字符型,可以使用float方法将字符转为为浮点型
    return a+b,a-b,a*b,round(a/b,2),float("%.2f"%(a/b))

print(Calculate(5,3))

二、Lambda函数

题目描述

设计一个Lambda函数,输入一个列表和一个参数n,返回列表中所有大于n的数。

输入

一个列表和一个数n。

输出

一个列表,包含所有大于n的数。

样例

输入:[1, 3, 5, 7, 9, 11], 5

输出:[7, 9, 11]

代码如下:

def Lambda(li:list,n,m):
    #方式一
    if m==1:
        arr=[]
        for i in li:
            if i>n:
                arr.append(i)
        return arr
    #方式二
    if m==2:
        return list(filter(lambda i:i>n,li))

ar=[1, 3, 5, 7, 9, 11]
print(Lambda(ar,5,2))

三、递归函数

题目描述

设计一个递归函数,输入一个正整数n,返回n的阶乘。

输入

一个正整数n。

输出

一个数,即n的阶乘。

样例

输入:5

输出:120

代码如下:

def recursive(n):
    if n==1:
        return 1
    #这里必须要有一个返回值n,代表每次递归都有值来返回
    return n*recursive(n-1)
print(recursive(5))

 

...全文
122 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文档是关于“基于小信号扫频辨识的光伏并网逆变器正负序交互稳定性分析”的博士论文复现资源,配套提供Matlab代码与Simulink仿真实现。内容聚焦于弱电网条件下光伏并网逆变器的稳定性问题,深入研究其正负序阻抗建模方法、小信号扫频辨识技术及正负序交互失稳机理。通过构建高精度的系统仿真模型,采用扫频法提取逆变器在不同控制环路(如锁相环、电流环)影响下的序阻抗特性,并结合奈奎斯特稳定性判据评估其与电网阻抗之间的交互作用,系统性地揭示了宽频带振荡的产生机制。该资源完整还原了论文中的关键理论推导与仿真验证流程,适用于从事新能源并网、电力电子系统建模与稳定性分析的研究人员进行学习、复现与二次开发。; 适合人群:具备电力系统、电力电子与自动控制理论基础,熟练掌握Matlab/Simulink仿真工具,从事新能源发电并网、逆变器控制策略或电力系统稳定性研究的研究生、科研人员及工程技术人员。; 使用场景及目标:① 复现并验证博士论文中提出的光伏逆变器正负序阻抗建模与小信号扫频分析方法;② 深入理解弱电网环境下由正负序耦合引发的交互失稳现象及其物理机理;③ 掌握基于阻抗法的并网系统稳定性分析流程,为虚拟同步机、构网型控制等先进控制策略的稳定性研究提供技术参考与仿真支撑。; 阅读建议:建议学习者结合提供的代码与仿真模型,首先深入理解序阻抗建模与扫频辨识的基本原理,然后逐步调试仿真程序,重点关注锁相环动态、电流控制器参数对序阻抗曲线的影响,最终掌握从模型搭建、扫频测试到稳定性判据应用的全流程分析能力。

162

社区成员

发帖
与我相关
我的任务
社区描述
软件工程老师
python 高校 江苏省·南通市
社区管理员
  • juking@ntu
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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