手撕Python之条件语句和循环语句

news2024/11/15 3:59:53



1.比较运算符

2.判断

单条件判断,我们就需要用到if

程序的正常执行流程是从上往下依次执行

我们可以使用流程控制语句中的if语句来根据不同的情况执行不同的代码

单个条件的判断使用if关键字

两个条件使用if…else

多个条件使用if…elif…else

if关键字判断后面的条件,如果为真,就进行下面代码的编译

如果为假,那么就直接跳过这串代码运行后面的代码

格式:if 判断条件:

这里的格式一定要有冒号

然后直接换行

如果没有冒号的话,那么这个代码就是错的

我们在写下if条件语句后回车会出现一个缩进,大小为一个Tab键

然后我们就写下我们的代码

那么我们写下的这个代码就是属于这个if条件语句的

如果条件为真,那么我们就运行这个条件语句里面的代码

但是如果条件是假的话,那么我们就不运行这个代码

if条件语句的用法:

#输入用户名,判断用户名是否正确
name=input("请输入用户名")
if name=="huyunkai":
    print("输入正确")

上面的if是条件成立的情况

那么如果不成立呢?

那我们就用else

加上els:

#输入用户名,判断用户名是否正确
name=input("请输入用户名")
if name=="huyunkai":
    print("输入正确")
else:
    print("输入错误")

如果我们的条件不满足的话,那么编译器就会调用else里面的代码的

用户输入数学成绩,判断成绩是否及格(60分及以上为及格)

#用户输入数学成绩,判断成绩是否及格(60分及以上为及格)
score=eval(input("请输入成绩"))#我们不能直接将我们输入的变量拿来比较,我们需要进行类型转换的操作
if score>=60:
    print("成绩及格")#判断条件成立时执行的代码
else:
    print("成绩不及格")#判断条件不成立时执行的代码

当我们遇到多条件判断的时候

那么我们就要用到elif

这个elif是可以出现多个的

多种情况之下的写法:

#判断时有多个情况,那么我们就会使用到elif
#只要if的条件为真的话,那么我们就不会执行后面的条件语句的
score=eval(input("请输入你的成绩"))
if 90<=score<=100:
    print("成绩优秀")
elif 80<=score<=89:
    print("成绩良好")
elif 70<=score<=79:
    print("成绩中等")
elif 60<=score<=69:
    print("成绩及格")
else :
    print("成绩不及格")

3.三目运算

格式:表达式1 if 条件表达式 else 表达式2

作用:当条件表达式成立,返回结果是表达式1

否则返回结果就是表达式2

三目运算可以想成是 if else的缩写

就是将条件内的代码放到前面和后面

效果是一样的

三目运算的使用:

name=input("请输入用户名")
code =input("请输入密码")
 #表达式  if name=="huyunkai"and code=="1234" else  表达式
print("登录成功") if name=="huyunkai"and code=="1234" else print("登录失败")

我们是可以先写判断的条件

再在这个条件的前后将判断后的代码写上

3 if 3>2 else2

4.逻辑运算

逻辑与 and

两个条件都得为真才会返回真

如果第一个条件为假的话,那么这个直接返回假,就不会进行后面真假的判断了

and的使用:

#编辑模式
print(True and False)
print(True and True)
print(False and True)
#交互模式
False
True
False

第一个判断是假的的话,那么直接返回假,不用判断后面的

如果两个都是真的话,那么都是真

如果两个判断有一个是假的,那么总体的话就是假的

逻辑或 or

两个条件中有一个成立的,那么结果就是True

如果两个条件都不成立,那么结果就是False

逻辑或的使用:

#编辑模式
print(True or False)
print(True or True)
print(False or True)
print(False or False)
#交互模式
True
True
True
False

逻辑非not

not主要用于进行取反的

逻辑非进行取反:

#编辑模式
print(not False)
print(not True)
#交互模式
True
False

逻辑短路

逻辑运算过程中,如果已经能够得到最后的值,则不会再进行后面的判断,这个称为逻辑短路

在存在逻辑或or的语句中

我们仅仅判断了第一个表达式,但是or后面的第二个表达式我们并未进行判断,但是此时我们已经将结果进行了返回了

那么这种情况就是逻辑短板了

逻辑短板的情况概述:

a=1
print(a<2 or b>2)
#我们这里是没有定义b的,但是我们在程序运行的时候没有进行报错

#我们这里用的是逻辑或or
#执行的顺序是从左边到右边
#先判断的是a<2  那么带入a就是成立的
#那么or就不会去执行b>2

print(a<2 and b>2)
#这里就会报错了,说b没有进行定义

回顾题目

100-90优秀

89-80良好

79-70中等

69-60及格

60-0不及格

##判断时有多个情况,那么我们就会使用到elif
##只要if的条件为真的话,那么我们就不会执行后面的条件语句的
score=eval(input("请输入你的成绩"))
if score>=90 and score<=100:
    print("成绩优秀")
elif score>=80 and score<=89:
    print("成绩良好")
elif score>=70 and score<=79:
    print("成绩中等")
elif score>=60 and score<=69:
    print("成绩及格")
else :
    print("成绩不及格")

登录问题

1.输入用户名、密码

2.判断用户名、密码是否正确

正确:登录成功

不正确:提示用户名或者密码输入错误

#登录操作
'''
1.输入用户名、密码
2.判断用户名、密码是否正确
    正确:登录成功
    不正确:提示用户名或者密码输入错误
'''

name=input("请输入用户名")
code =input("请输入密码")
if name=="huhu" and code=="123456":
    print("登录成功")
else:
    print("登录失败")

5.if嵌套

就是外层if内的代码还有层if

#先判断用户名,再判断密码
name=input("请输入用户名")
code =input("请输入密码")
if name=="xiaoming":
    if code=="1234":
        print("登录成功")
    else:
        print("密码输入错误")
else:
    print("用户名输入错误")

通过这种方式我们能知道是用户名错误还是密码错误

if嵌套一般适用于满足某个情况下又要进行另外一种情况的判断

注意:每个if和else是要进行对应的

尽量不要嵌套太深了

因为可能我们考虑不齐全

有些条件没写到位

男女赛跑题目:

#男女分组赛跑
#男子小于10秒进决赛,女子小于15进决赛
sex=input("请输入性别")

if sex=="女":
    print("女子组")
    time=eval(input("请输入赛跑时间"))
    if time<15:
        print("进入决赛")
    else:
        print("没有进入决赛")
elif sex=="男":
    print("男子组")
    time=eval(input("请输入赛跑时间"))
    if time<10:
        print("进入决赛")
    else:
        print("没有进入决赛")
else:
    print("信息错误")
#除了if嵌套,我们还能使用if和and进行判断

6.while循环

while 循环条件

语句(循环条件成立时执行)

重复执行某一个函数

while 的使用和 if 类似,

判断为真的时候则运行缩进里面的代码,

判断式为假时则停止循环

赋值运算符(算术运算符+赋值符):+=、-=、*=、=、\=

作用:将左右两边的内容,进行指定的算术运算,将结果赋值给左边的变量

输出一到10的数字:

#输出一到10的数字
n=1
while n<11:
    print(n)
    n+=1

输出1到10之间的偶数:

#输出1到10之间的偶数
n=2
while n<=10:
    print(n)
    n+=2

累加1-10之间的数字和:

#累加1-10之间的数字和
sum=0#用于累加每次循环n的值
n=1
while n<=10:
    sum+=n
    n+=1
print(sum)

while循环后面也可以接上else循环,当循环正常结束的时候,就会执行else内的代码

else在while循环内的操作:

a=1
while a<5:
    print(a)
    a+=1
else:
    print("循环结束")

7.break和continue

break

用户登录,用户名和密码错误有三次机会:

#用户登录,用户名和密码错误有三次机会
c=1
while c<=3:
    name=input("请输入用户名")
    pw=input("请输入登录密码")
    if name=="huyunkai" and pw=="123456":
        print("登录成功")
    else:
        print("用户名或者密码输入错误")
    c+=1

在我们这个登录题目中

我们输入正确的密码和账号

我们还是要继续进行输入的操作

所以我们需要在输入正确的用户名和密码之后我们需要跳出这个循环

这个时候我们就需要使用到break了

break具有很强的破坏力,它的作用是直接停止当前所在的循环

while 后面也可以直接跟上True,但是内部就必须要使用break来终止循环。

使用break终止的循环,是不会执行else的内容。

有break的版本:

#用户登录,用户名和密码错误有三次机会
c=1
while c<=3:
    name=input("请输入用户名")
    pw=input("请输入登录密码")
    if name=="huyunkai" and pw=="123456":
        print("登录成功")
        break#登录成功直接跳出了,break的位置一定要放在语句后面
    else:
        print("用户名或者密码输入错误")
    c+=1

break只能在循环里面进行使用

continue

continue语句的作用是终止本次循环,并跳过循环体中continue后面的语句,回到循环的顶端,继续执行下一次循环。

使用continue跳过本次循环,在循环正常执行完毕后依然执行else的内容

仅仅只是跳过某一次循环

跳过此次循环,此次循环的后面 的代码不进行编译

continue的使用:

#continue ----跳过一次循环,开始下一次循环

#输出1到10之间的偶数
n=1
while n<=10:
    if n%2!=0:
        continue
    print(n)
    n+=1

#这样写代码是死循环的
'''
因为我们一开始n=1
那么满足这个if条件的雨具,单后就直接continue了
然后就不进行后面的n+=1了
然后进行下一次循环,这次n还是1
那么结果就是和上次的是一样的结果
那么为了避免死循环的话,我们需要将n+=1放在continue的前面
'''
#正确写法:
n=1
while n<=10:
    if n%2!=0:
        n+=1  #一定要添加,不然就是死循环了
        continue
    print(n)
    n+=1

8.for循环

基本格式1:遍历对象

for 变量 in 序列:

代码

格式2:使用range函数控制循环次数

for 变量 in range():

序列:字符串、列表、元组

目前我们只接触到了字符串

方法一:

for循环中的变量:可以不提前进行定义,后面会将遍历的值赋值给变量

第一种格式

#遍历:从序列中依次拿取数据,每次循环回拿一个,拿完了循环就结束了
for i in "python":#对这个字符串进行遍历
    #从字符串里面拿字符依次进行遍历
    print(i)

#每次循环都是从字符串里面拿取一个字符
#基本格式就是 for  变量  in  序列
    #我们这里的变量是可以直接在这里进行定义的
    #可以不像之前那样非要赋值了才能用

依次从序列中拿取,每次拿一个元素

直到整个序列内都拿完了就停止循环了

for else

只要程序正常执行就能运行else中的代码

 

9.range

for循环中的range的使用方法:

for 变量 in range():

在这个range函数里面有三个参数

开始的数字、结束的数字、步长

对于开始数字的话,我们不进行设置的话默认值是0,

步长的默认值为1

我们循环是不包含结束值的

这个for循环的范围就是[开始数字,结束数字)

左边是闭区间,右边是开区间的

range函数的基本使用方式:

#方法二:使用range函数控制循环的次数
'''
for 变量  in  range():
'''

#在这个range函数里面有三个参数
#开始的数字、结束的数字、步长
#对于开始数字的话,我们不进行设置的话默认值是0,

for i in range(5):
    print(i)


#我们在这里的range后面的函数没有写另外两个参数,但是没有进行报错
#为什么呢?
#因为开始的默认值为0,步长默认值为1
#那么这里的range(5)等价于range(0,5,1)的

#意思就是从0开始,到5结束,每次增加步长,就是每次循环就增加1

#对于我们上面的代码,仅仅是打印0-4,并没有进行5的打印
#为什么呢?
'''
因为对于range函数来说,我们的结束值是不包括在内的
那么打印的区间范围就是[0,5)
如果我们想输入0-5的数字,那么我们就需要将结束值改成6
那么编译器就会依次打印0-5的数字了
'''
for i in range(1,11,1):
    print(i)
#那么这里的话就能输出1-10的数字了

#可以与while进行比较,可以发现for循环比while更加简单一些

可以与while进行比较,可以发现for循环比while更加简单一些

输出1-10之间的偶数:

for i in range(2,11,2):
    print(i)

print("********")

累计1-10之间的数字:

sum=0#累加的和
for i in range (1,11,1):
    sum+=i
print(sum)

我们在循环的时候,如果是正常运行的话是会运行这个循环后面的else代码的

a=1
while a<5:
    print(a)
    a+=1
else:
    print("循环结束")

不管是while循环还是for循环都是这样的

除非是非正常循环,比如说满足一个条件就break了

这就是不正常循环的例子

但是如果是continue的话,那么这个循环仍然是正常循环的

else仍然能正常运行

#当循环正常结束的时候,回执行else部分
for i in range(1,6):
    print(f"吃第{i}个苹果")
else:
    print("吃完了")
'''


'''
#5个苹果,吃了3个苹果就饱了

for i in range(1,6):
    print(f"吃第{i}个苹果")
    if i==3:
        break
else:
    print("吃完了")
 '''   

'''
当循环正常结束的时候,回执行else部分
但是当我们通过break跳出循环过后是不会进行else循环的
这个break是强制解除掉的

回想之前的用户名密码登录的问题
如果我们输入了三次密码之后还是错的,那么我们直接就进入else直接锁定账户
之前的是我们输入密码正确后我们直接break了,那么就是非正常结束循环

break结束的循环是不会执行else部分
'''
'''
#5个苹果,第四个坏了,不能吃
for i in range(1,6):
    if i==4:
        continue
    print(f"吃第{i}个苹果")   
else:
    print("吃完了")
#那么对于现在这个代码的话,当i=4的时候我们是不进行当前循环的进行的,直接跳出进行下一次循环
#continue跳过当次循环,进行下一次循环,仍然是正常的循环的,会执行else的操作

'''

10.循环嵌套

for i in range(1,4):
    print(f"第{i}天写作业")
    print("第1页")
    print("第2页")
    print("第3页")
    print("第4页")
    print("第5页")
'''
#对于后面的页数,我们是可以利用循环嵌套以及格式化的方式将这个缩写出来的
for i in range(1,4):
    print(f"第{i}天写作业")
    for n in range(1,6):       
        print(f"第{n}页")

#那么这个循环嵌套就能达到我们要的效果了

'''
对于这个代码的话
当i=1的时候,n的大小是从1-5一直在变化
当内循环遍历完之后,然后i变成2,重复之前的过程的
外部循环执行一遍,内部循环执行n遍
'''

假设外层循环是i次,内层循j次

那么每进行一次外层循环,那么就会进行j内层循环

只有每一个外层循环里面循环了j次,i才会++,进行下一次的外循环

九九乘法表:

for i in range(1,10):
    for j in range(1,i+1):#让j的大小随着i的变化而变化
        print(f'{j}x{i}={i*j}',end="\t")#"\t是制表符"  这里空格也是可以的,但是会导致列数对不齐了
    print("\n")    #每一个外层循环结束的时候我们就进行换行的操作,手动换行
#手动换行,要在新的一行进行内容输出,要在新的一行进行输出

#\t能保证每一次内循环打印的内容都在同一行
#然后进行完i次内循环之后我们就进行一个整体的换行,就是我们在外循环和内循环中间加的换行操作

#加了\t之后,我们每个打印完成之后的式子之间的距离就是一个Tab键的距离,会对齐就好一点

效果图:

每个班有5名学生,有语数外三科,外部输入每个学生每科的成绩

分别求出每个学生三科成绩的平均值(保留两位小数)

s1=eval(input("请输入成绩1"))
s2=eval(input("请输入成绩2"))
s3=eval(input("请输入成绩3"))

avg=(s1+s2+s3)/3#求平均值
print(f'平均值为{avg:.2f}')

现在我们通过代码实现了一个学生的平均值的操作

但是我们还要实现4个学生,那么我们就需要进行循环操作

for i in range(1,6):
    sum=0
    svg=0
    print(f"第{i}个学生的成绩的录入")
    for j in range(1,4):
        s=eval(input(f"请输入成绩{j}:"))
        sum+=s
    avg=sum/3#每进行完3次内部循环我们就进行平均值的计算

    print(f'平均值为{avg:.2f}')
#sum在内部循环和外部循环之间定义的原因
'''
每进行完一次外部循环,那么这个sum就进行清零
然后重新计算另一个学生的值
这个avg也是一样的
'''

11.random模块

具体作用----随机模块

生成随机的内容

这个模块内的方法:

randint()---生成随机n-m之间的随机整数

我们如果想使用某一个模块

我们需要通过import 将这个模块拿到导入到当前pyhton文件中

之前的我们在变量那一章节,我们导入的是关键字

那么import就是导入模块的关键字

import 导入模块的名称

模块中的方法使用:模块名.方法名()

import random

random.randint(n,m)

这个就是生成n到m之间的数字

random模块里面的随机生成整数的方法的具体使用:

import random
num=random.randint(1,10)
print(num)

实现猜数字游戏

#猜数字游戏,电脑随机生成1-10的数字,用户进行猜测
#有5次机会
'''
电脑生成数字----random.randint()   --我们通过这个模块实现
用户猜测
    1.使用input输入用户的猜测
    2.我们要判断这个猜测是不是对的
        1.正确(第一次就猜对了,我们就不用继续猜了,使用break结束循环)
        2.不正确(我们给出提示)
            1.猜大了
            2.猜小了
'''
#现在实现的是单次的
print("---猜数字游戏(1-10)---")

import random
cp_num=random.randint(1,10)
print(cp_num)
for i in range(1,6):

    user_num=eval(input("请输入你猜的数字:"))

    if cp_num==user_num:
        print("恭喜你,猜对了")
        print("游戏结束")

        break

    elif cp_num<user_num:
        print(f"你猜的数字大了,你还有{5-i}次机会")

        continue
    else :
        print(f"你猜的数字小了,你还有{5-i}次机会")


        continue
else:
    print("游戏结束")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2094255.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Ho-Lee利率模型的实现

一&#xff1a;Ho-Lee利率模型的介绍 Ho-Lee模型是由Thomas Ho和Sang-bing Lee在1986年提出的&#xff0c;用于描述利率期限结构变动的模型。该模型基于无套利机会假设&#xff0c;认为当前的利率期限结构包含了人们对未来利率预测的所有信息&#xff0c;因此利率期限结构的变…

006.Python爬虫系列_Web前端基础HTML+CSS

我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈 入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈 虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈 PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)文章合集 👈👈 Oracle数…

中仕公考:公务员公示期一过就能入职了吗?

公务员政审结束后&#xff0c;拟录用人员名单将进行为期5-7天的公示。此环节是确保广泛收集公众意见&#xff0c;如果发现候选人存在问题&#xff0c;相关人士可以向负责部门举报。如果经过调查确认存在问题&#xff0c;该候选人可能无法顺利通过公示期。 公务员职位公示期结束…

Python和JAX及MATLAB小波分析导图

&#x1f3af;要点 离散小波变换和逆离散小波变换时间序列谱分析计算比例图和频谱图显示数据莫莱小波时频数据表征海表温度异常的区域平均值捕捉市场波动时间频率关联信息信号和图像分解压缩重建降维分析金融波动连续小波卷积网络和离散小波信号分类图像处理、提取地震图速度和…

随笔1:数学建模与数值计算

目录 1.1 矩阵运算 1.2 基本数学函数 1.3 数值求解 数学建模与数值计算 是将实际问题通过数学公式和模型进行描述&#xff0c;并通过计算获得模型解的过程。这是数学建模中最基本也是最重要的环节之一。下面是详细的知识点讲解及相应的MATLAB代码示例。 1.1 矩阵运算 知识点…

突破代码:克服编程学习中的挫折感

目录 一、心态调整&#xff1a;心理韧性的培养 接受挫折是学习的一部分 设置实际的学习目标 保持学习的乐趣 二、学习方法&#xff1a;策略的实施 逐步解决问题 寻找多样的学习资源 定期复习与实践 三、成功经验&#xff1a;实例的启示 Debug的技巧掌握 算法的深入理…

STM32的寄存器详解

目录 前言 一、 STM32 单片机寄存器概述 1.寄存器的作用 2.寄存器的分类 二、STM32 内核寄存器 1.程序计数器&#xff08;PC&#xff09; 2.堆栈指针&#xff08;SP&#xff09; 3.链接寄存器&#xff08;LR&#xff09; 4.控制寄存器&#xff08;CONTROL&#xff09;…

Java项目服务器CPU飙升问题排查

目录 一.前言 二.程序日志定位 三.Mysql事务定位 四.程序代码定位 五.微服务注册异常定位 六.异常进程定位 6.1.进程的线程信息分析 6.2.进程的堆内存分析 七.总结 八.JVM分析工具推荐 一.前言 系统出现反应慢,打不开,登录不上等问题。 二.程序日志定位 通过程序日…

DOCKER(国内镜像源,安装相关微服务组件,py以及jar包的docker打包(上传私有云以及输出本地文件))

前言 之前单独在旧的帖子下面更新的时候&#xff0c;码字码了1000多字的时候电脑蓝了&#xff0c;重启什么东西都没有&#xff0c;我红了。平台上面的自动保存是针对新文章的。 这周因为隔壁有项目要验收了&#xff0c;我的好大哥就把我派过去配合赶进度了&#xff0c;还体验了…

计频器(Keysight 53210A)

计频器(Keysight 53210A) 一、基本介绍 探棒有两种,第一种是仪器自带的原厂探头,第二种是专门测试晶振的探头,我们的大部分的测试都是测32Khz和 24Mhz的频率,因此测32Khz频率的时候选用原厂探头、测晶振24Mhz频率的时候选用专门测晶振的探头(如下图所示)。----信号频…

YOLO实践

一. 环境安装 参考视频 Pytorch环境安装细节 pytorch安装&#xff1a;一个单独的环境中&#xff0c;能使用pip就尽量使用pip&#xff0c;实在有问题的情况&#xff0c;例如没有合适的编译好的系统版本的安装包&#xff0c;再使用conda进行安装&#xff0c;不要来回混淆CUDA是…

上网行为管理系统的功能有哪些(员工全网行为管理解决方案)

员工在工作中的上网行为日益多样化&#xff0c;这不仅带来了工作效率的提升&#xff0c;也带来了诸多管理上的挑战。 网络黑客攻击、数据泄露、非工作相关活动的占用带宽等问题层出不穷&#xff0c;对企业的信息安全和运营效率构成了严重威胁。 因此&#xff0c;上网行为管理…

HIC-YOLOv5:改进的YOLOv5用于小对象检测

HIC-YOLOv5: Improved YOLOv5 For Small Object Detection 摘要 小目标检测是物体检测领域的一大难点。已有的一些工作对这一任务提出了改进&#xff0c;例如增加若干个注意块或改变特征融合网络的整体结构。然而&#xff0c;这些模型的计算开销很大&#xff0c;使得部署实时目…

Leetcode面试经典150题-136.只出现一次的数字

解法都在代码里&#xff0c;不懂就留言或者私信 这个题不知道为啥会考&#xff0c;过于简单了&#xff0c;我解题写注释用了两分钟不到&#xff0c;5行代码。。。 class Solution {public int singleNumber(int[] nums) {/**这个题目确实时间的题&#xff0c;根据位运算法则我…

公安监所智慧监管解决方案

1. 项目背景与政策解读 《智慧监管行业背景》部分强调了国家关于推进智慧监管建设的指导意见&#xff0c;以及特定省份发布的“智慧新监管”建设规范&#xff0c;旨在实现监所管理的规范化、标准化和信息化。 2. 监所建设目标 根据政策要求&#xff0c;监所建设内容涵盖数字…

无人机之云台的作用

无人机云台在无人机技术中扮演着至关重要的角色&#xff0c;其作用主要体现在以下几个方面&#xff1a; 一、 确保拍摄稳定性 防抖动&#xff1a;无人机在飞行过程中&#xff0c;尤其是在复杂环境下&#xff0c;如遇到风力干扰或进行高速飞行时&#xff0c;机身容易产生震动和…

MySQL数据库---JDBC编程

1.目录 目录 1. 数据库编程的必备条件 2. Java的数据库编程&#xff1a;JDBC 3.安装工作JDBC&#xff1a; 1)使用经典版找到对应版本下载 2)点击Files栏目的jar 3)用文件夹打开 4)一直点进去会得到此界面 4.环境配置 1)下载 jar 2)把jar导入到自己的项目中. a)先在项…

算法训练营——day1数组二分查找

数组是存放在连续空间上的相同数据类型的集合。 注意&#xff1a;下标从0开始&#xff1b;内存空间连续。 正因为数组的内存地址空间连续&#xff0c;所以在删除、添加元素的时候需要移动其他元素。 数组的元素不能删除&#xff0c;只能覆盖&#xff01; 二维数组特殊 在C中&…

多目标应用:基于NSGA3的移动机器人路径规划研究(提供MATLAB代码)

一、机器人路径规划介绍 移动机器人&#xff08;Mobile robot&#xff0c;MR&#xff09;的路径规划是 移动机器人研究的重要分支之&#xff0c;是对其进行控制的基础。根据环境信息的已知程度不同&#xff0c;路径规划分为基于环境信息已知的全局路径规划和基于环境信息未知或…

Python函数(11自定义模块第三方模块内置模块)

Python基础语法文章导航&#xff1a; Python基础&#xff08;01初识数据类型&变量&#xff09;Python基础&#xff08;02条件&循环语句&#xff09;Python基础&#xff08;03字符串格式化&运算符&进制&编码&#xff09;Python基础&#xff08;04 基础练习…