note 4 三大结构

程序流程图
1276762-20190428003205929-324727598.png
1276762-20190428003223202-1835203862.png

顺序结构

选择结构

if
1276762-20190428003257843-30108827.png

if-else
1276762-20190428003322022-807606840.png

if 语句-嵌套结构(Nested)
1276762-20190428003353471-387070131.png

多分支结构(Chained)

if score >= 90:
    print 'ARM'
elif score >= 80:
    print 'B'
elif score >= 70:
    print 'C'
elif score >= 60:
    print 'D'
if-elif-else语句:
elif相当于else:if
if-elif-else语句中有else条件时,else条件放在最后,否则SyntaxError

一元二次方程

1276762-20190428003458466-1539438711.png

import math

a = float(raw_input('Enter a'))
b = float(raw_input('Enter b'))
c = float(raw_input('Enter c'))
if a != 0:
    delta = b**2 - 4 * a * c
    if delta < 0:
        print 'No solution'
    elif delta == 0:
        s = -b/(2 * a)
        print 's:',s
    else:
        root = math.sqrt(delta)
        s1 = (-b + root) / (2 * a)
        s2 = (-b - root) / (2 * a)
        print 'Two distimct solutions are:',s1,s2

1276762-20190428003547879-1723442403.png
1276762-20190428003609881-2040045283.png
1276762-20190428003626607-475826673.png

循环结构

while

count = 0
while count < 5:
print 'Programming is fun!'
count += 1

死循环

多次求解一元二次方程

import math

ch = ''

while ch != 'q':
    a = float(raw_input('Enter a'))
    b = float(raw_input('Enter b'))
    c = float(raw_input('Enter c'))
    if a != 0:
        delta = b**2 - 4 * a * c
        if delta < 0:
            print 'No solution'
        elif delta == 0:
            s = -b/(2 * a)
            print 's:',s
        else:
            root = math.sqrt(delta)
            s1 = (-b + root) / (2 * a)
            s2 = (-b - root) / (2 * a)
            print 'Two distimct solutions are:',s1,s2
    ch = raw_input('Quit?')

break语句

结束当前循环体

continue语句

结束当次循环

range函数
1276762-20190426010136703-1620314677.png

求常数e
1276762-20190428004016988-1640088386.png
1276762-20190428004024466-1897153206.png
1276762-20190428004033846-1589154699.png

求常数π
1276762-20190428003930119-1863492059.png
1276762-20190428003946402-655797475.png

冰雹猜想(序列)
1276762-20190428003838822-538698547.png

for n in range(1,100):
    while n != 1:
        if n % 2 == 0:
            n /= 2
        else:
            n = 3 * n + 1
            print n

while vs. for 循环
while 循环更通用
任何for循环写到程序都能用while循环实现
适用场景:
for循环:已知循环的范围(range),即起止值和步长
while循环:其他情况,入:不确定循环何时终止

转载于:https://www.cnblogs.com/OceanF/p/10772101.html

内容概要:本文系统介绍了算术优化算法(AOA)的基本原理、核心思想及Python实现方法,并通过图像分割的实际案例展示了其应用价值。AOA是一种基于种群的元启发式算法,其核心思想来源于四则运算,利用乘除运算进行全局勘探,加减运算进行局部开发,通过数学优化器加速函数(MOA)和数学优化概率(MOP)动态控制搜索过程,在全局探索与局部开发之间实现平衡。文章详细解析了算法的初始化、勘探与开发阶段的更新策略,并提供了完整的Python代码实现,结合Rastrigin函数进行测试验证。进一步地,以Flask框架搭建前后端分离系统,将AOA应用于图像分割任务,展示了其在实际工程中的可行性与高效性。最后,通过收敛速度、寻优精度等指标评估算法性能,并提出自适应参数调整、模型优化和并行计算等改进策略。; 适合人群:具备一定Python编程基础和优化算法基础知识的高校学生、科研人员及工程技术人员,尤其适合从事人工智能、图像处理、智能优化等领域的从业者;; 使用场景及目标:①理解元启发式算法的设计思想与实现机制;②掌握AOA在函数优化、图像分割等实际问题中的建模与求解方法;③学习如何将优化算法集成到Web系统中实现工程化应用;④为算法性能评估与改进提供实践参考; 阅读建议:建议读者结合代码逐行调试,深入理解算法流程中MOA与MOP的作用机制,尝试在不同测试函数上运行算法以观察性能差异,并可进一步扩展图像分割模块,引入更复杂的预处理或后处理技术以提升分割效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值