2023(春)Python程序设计作业1: 基础语法之控制流程

m0_74861261 2023-春-学生 2023-04-01 22:06:52

一、完成技能树基础语法部分练习

 

4.1 顺序结构

 

顺序结构是最简单也是最常见的一种结构,采用顺序结构的程序通常按照由前到后的顺序执行各个语句,直到程序结束,结构如下所示:
顺序结构:
在这里插入图片描述

4.2 顺序结构实例

举例如下:


 
  1.  

    a = 2
    
    b = 3
    
    c = a + b
    
    d = c * 24
    
    print(a, b, c, d)

     

 

5.1 条件表达式

条件表达式由运算符操作数组成

例如:a<4,其中a、4都是操作数,小于符号<是运算符

判断条件可以是具有布尔属性的任意元素,包括数据、变量或由变量与运算符组成的表达式,若其布尔属性为True,条件成立;若布尔属性为False,条件不成立。
除了非空常量外,Python还常使用关系操作符和成员运算符构成判断条件 。

条件表达式常用的运算符有:
算术运算符:+、-、*、/、//、%、**
关系运算符:
在这里插入图片描述

Python支持通过保留字not、and和or对判断条件进行逻辑组合:

  • not,表示单个条件的“否”关系。如果“条件”的布尔属性为True,“not 条件”的布尔属性就为False;如果“条件”的布尔属性为False,“not 条件”的布尔属性就为True。
  • and,表示多个条件之间的“与”关系。当且仅当使用and连接的所有条件的布尔属性都为True时,逻辑表达式的布尔属性为True,否则为False。
  • or,表示多个条件之间的“或”关系。当且仅当使用or连接的所有条件的布尔属性都是False时,逻辑表达式的布尔属性为False,否则为True。

5.2 单分支选择结构

在这里插入图片描述

  • 若if语句中的判断条件成立,执行if语句后的代码段;
  • 若判断条件不成立,则跳过if语句后的代码段。
  • 单分支结构中的代码段只有“执行”与“跳过”两种情况。

示例:使用单分支结构判断当天是否是星期天。


 
  1.  

    day = int(input("今天是工作日吗(请输入整数1~7)?"))
    
    if day in [1,2,3,4,5]:
    
    print("今天是工作日。")
    
    if day in [6,7]:
    
    print("今天非工作日。")

     

5.3 双分支选择结构

在这里插入图片描述

  • 若if语句中的判断条件成立,执行代码段1
  • 若判断条件不成立,则执行代码段2

示例:使用二分支结构判断当天是否是工作日。


 
  1.  

    day = int(input("今天是工作日吗(请输入整数1~7)?"))
    
    if day in [1,2,3,4,5]:
    
    print("今天是工作日。")
    
    else:
    
    print("今天非工作日。")

     

5.4 多分支选择结构

在这里插入图片描述
在这里插入图片描述

5.5 选择结构的嵌套

选择结构的嵌套是指选择结构的内部包含选择结构
在这里插入图片描述
在这里插入图片描述

5.6 三元表达式

python中没有c语言中的三目运算符,但是可以通过以下的形式实现三目运算符的功能
格式:条件判断为真时的结果 if 判断条件 else 条件为假时的结果
示例:x=x-1 if x>0 else x=x+1
等价于:


 
  1.  

    day = int(input("今天是工作日吗(请输入整数1~7)?"))
    
    if day in [1,2,3,4,5]:
    
    print("今天是工作日。")
    
    else:
    
    print("今天非工作日。")

     

我们可以利用三元表达式来实现裴波那契数列:


 
  1.  

    def fun(n):
    
    return n if n < 2 else fun(n - 1) + fun(n - 2)

     

还有一种用法,用bool方法选择相应的值,例如:


 
  1.  

    x = 1
    
    print([2, 3][bool(x)])
    
    x = 0
    
    print([2, 3][bool(x)])

     

结果:


 
  1.  

    3
    
    2

     

 

Python基础语法06:循环

1 循环语句

在实际应用中有些需要重复进行的操作,可以用循环语句实现。

循环语句有:
while、do while、for

1.1 while循环

在这里插入图片描述

  • 若循环条件为True,则循环执行while循环中的代码段;
  • 若循环条件为False,终止while循环。
  • 若while循环的条件总是True,这种情况叫做死循环 。

例如:使用while循环实现计算n的阶乘


 
  1.  

    n = int(input("请输入一个整数:"))
    
    fact = 1
    
    i = 1
    
    while i<= n:
    
    fact = fact*i
    
    i = i + 1
    
    print("n!={}".format(fact))

     

1.2 while else循环

Python的while循环也支持使用保留字else产生分支。

示例2:使用while-else循环实现计算n的阶乘


 
  1.  

    n = int(input("请输入一个整数:"))
    
    fact = 1
    
    i = 1
    
    print("n!计算中……")
    
    while i<= n:
    
    fact = fact*i
    
    i = i + 1
    
    else:
    
    print("n!计算完成 ,循环正常结束")
    
    print("n!={}".format(fact))

     

1.3 for 循环

在这里插入图片描述

  • 目标可以是字符串、文件、range()函数或组合数据类型等;
  • 循环变量用于保存本次循环中访问到的遍历结构中的元素;
  • for循环的循环次数取决于遍历的目标元素个数。

示例1:遍历字符串中的每个字符


 
  1.  

    string = input("请输入一个字符串:")
    
    for c in string:
    
    print(c)

     

1.4 for else循环

for…else循环的具体实现形式:


 
  1.  

    for 循环变量 in 目标:
    
    循环体
    
    else:
    
    代码块

     

用法与while…else相同,如果循环体结束后没有碰到break语句,就会执行else语句块,如果结束之前碰到了break语句,就会跳出整个for循环,因此else语句块也就不会执行。

2 循环控制语句

·在循环语句中,有时候需要达到中断循环,或者跳过本次循环,执行下次循环的情况,因此就需要有循环控制语句

python中使用break、continue语句控制循环的执行过程

break用于跳出整个循环
continue用于跳出本次循环,继续执行下次循环

2.1 break语句

在这里插入图片描述
在这里插入图片描述

2.2 continue语句

在这里插入图片描述
在这里插入图片描述

2.3 pass语句

pass的意思是过,pass掉就是淘汰掉的意思。

在python中,pass的意思是空语句,pass语句不做任何事情,只是为了保持程序结构的完整性。

...全文
72 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文针对5MW风电永磁直驱发电机-1200V直流并网系统,构建了基于Simulink的仿真模型,重点研究了在强弱电网适配场景下构网型(GFM)与跟网型(GFL)逆变器并联系统的协同控制逻辑及其暂态动态行为。通过建立包含风力机、永磁同步发电机、机侧变流器、直流环节、网侧变流器及电网接口在内的完整系统模型,实现了从风能捕获到直流并网的全流程仿真。研究深入探讨了GFM与GFL逆变器在不同电网强度下的动态交互特性,包括功率分配、频率响应、电压支撑能力及稳定性表现,并提出有效的分层协同控制策略,以提升系统在弱电网条件下的运行稳定性和电能质量。仿真结果验证了所提控制策略在抑制功率振荡、改善频率调节和增强系统鲁棒性方面的优越性能。; 适合人群:具备电力系统、电力电子及自动控制基础知识,从事新能源发电、微电网、并网技术等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①深入理解永磁直驱风电机组并网系统的整体结构与工作原理;②掌握构网型与跟网型逆变器的核心控制差异及其在混合系统中的协同机制;③研究强弱电网环境下并网系统的稳定性问题及先进控制策略的设计方法;④为相关科研课题的仿真建模、算法开发与实验验证提供可靠的技术参考与案例支持。; 阅读建议:学习者应结合Simulink软件动手搭建和调试仿真模型,重点关注逆变器控制模块的实现细节与参数设置。建议在掌握基础模型后,通过改变电网强度、负载条件或控制参数等方式开展对比实验,观察系统的动态响应变化,从而深化对理论知识的理解并提升解决实际工程问题的能力。
内容概要:本文提出了一种基于粒子群优化算法(PSO)的风光储能微电网日前经济调度模型,充分考虑了需求响应机制的影响。研究构建了一个包含风力发电、光伏发电、储能系统及可调负荷的综合微电网系统,通过建立以系统综合运行成本最小化为目标的优化模型,综合考量了可再生能源出力的不确定性、负荷波动以及分时电价等因素。文中详细阐述了模型的数学构建过程,包括目标函数的设计、各类物理约束(如功率平衡、储能容量与充放电速率限制)的处理,以及需求响应对用户侧负荷曲线的调节作用,并提供了完整的Python代码实现方案,通过仿真验证了该方法在降低系统运行成本、提升可再生能源消纳能力和优化负荷曲线方面的有效性。; 适合人群:具备一定电力系统基础知识和Python编程能力的高校学生、研究人员及从事微电网规划、能源优化调度等相关领域的工程技术人员。; 使用场景及目标:①用于研究和实现计及多种可再生能源与储能系统的微电网经济调度问题;②学习如何将粒子群优化算法应用于电力系统优化领域;③掌握需求响应机制在削峰填谷、优化负荷曲线中的具体建模与实现方法。; 阅读建议:此资源结合了理论模型、优化算法与编程实践,建议读者在学习过程中重点关注模型构建的逻辑、PSO算法的参数设置及其在调度问题中的应用细节,并动手运行和调试所提供的Python代码,以加深对微电网经济调度全过程的理解。

162

社区成员

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

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