python的逻辑控制

python逻辑执行

python条件控制

python 复制代码
# 在python中,不使用括号将条件固定
if exp: # 条件满足则执行,后续语句不执行
    # 不使用{}将执行语句固定,也没有;作为结尾
    statement
elif exp:# 条件满足则执行,后续语句不执行
    statement
else:# 上面的条件都不满足则执行
    statement

以上就是条件语句基本执行过程。

python 复制代码
a = [1,2,3,4,5]
if 1 in a:
    print("1在a里面")
else:
    print("1不在a里面")
    
if 1 not in a:
    print("1不在a里面")
elif 1 in a:
    print("在a里面")
if嵌套
python 复制代码
if 表达式1:
    语句
    if 表达式2:
        语句
    elif 表达式3:
        语句
    else:
        语句
elif 表达式4:
    语句
else:
    语句

if语句可以嵌套在if语句中,这样写时需要注意语句的对其方式,因为python是使用空格进行对齐的。

python 复制代码
num = int(input("请输入一个数字:"))
if num % 5 == 0:
    if num % 3 == 0:
        print("你的数字可以被5和3整除")
    else:
        print("你的数字可以被5整除,不能被3整除")
else:
    if num % 3 == 0:
        print("你的数字可以被3整除,不能被5整除")
    else:
        print("你的数字不可以被5和3整除")
循环语句
python 复制代码
# while :满足条件执行,不满足条件不执行
while True:
    语句 # 无限循环
# for : 满足条件执行,不满足条件不执行
for 条件循环:
    语句

示例:

python 复制代码
# 简单示例
for i in range(1, 6):
    print(i, end=",")
i = 5
while i >= 0:
    print(i, end=",")
    i -= 1
内置函数range()

range()是在python中比较常用的一个函数,在range()函数参数为数字

range(1,6)范围中等于1小于6的数字:12345

range(1,6,2)范围中1~5,跨步为2--》1,3,5步长也可以为负数,负数就是倒着进行读取

range(stop):可以填写列表,元组,集合以及其他数据类型。

示例:

python 复制代码
# 配合函数一起使用
# 简单用法
for i in range(1, 6):
    print(i, end=",")

print("分割线------------------------------")
# 跨步用法
for i in range(1, 6, 2):
    print(i, end=",")

print("分割线------------------------------")
# 步长为负数
for i in range(6, 1, -2):
    print(i, end=",")

print("分割线------------------------------")
# 应用列表
list1 = [1, 2, 3, 4, 5, 6]
for i in range(len(list1)):
    print(i, end=",")
Pass语句

在一些暂时不用实现的方法来使用pass可以保证暂时不会报错。

在python中同样有bleakcontinue语句,和其他语言都是一样的用法。

break:退出当前循环。

continue:结束当前执行的循环,直接开启下一段循环(如果有的话)。

python 复制代码
for i in range(1, 6):
    if i == 5:
        break
    print(i, end=",")
print("\n分割线------------------------------")
for i in range(1, 6):
    if i == 3:
        continue
    print(i, end=",")

python迭代器与生成器

iter()和next(),配合使用。首先iter是作为一个对象存在的,而next是用于遍历这个对象存在的。

python 复制代码
list = [1,2,3,4]
it = iter(list)
print(next(it))
print(next(it))

这个next相当于做了一个循环的作用。

在python中创建一个迭代器

在python中创建一个迭代器需要实现两个函数iter(),next()。使用__iter__中返回一个特殊的迭代对象。这个迭代器实现了一个__next__方法将通过标识将迭代完成。

python 复制代码
class MyNumbers:
  def __iter__(self):
    self.a = 1
    return self
 
  def __next__(self):
    x = self.a
    self.a += 1
    return x
 
myclass = MyNumbers()
myiter = iter(myclass)
 
print(next(myiter), end=" ")
print(next(myiter), end=" ")
print(next(myiter), end=" ")
print(next(myiter), end=" ")
print(next(myiter), end=" ")

在实现迭代器中需要使用到一个标识符Stoplteration 用于终止标识迭代的完成。

python 复制代码
def __next__(self):
    if self.a <= 20:
      x = self.a
      self.a += 1
      return x
    else:
      raise StopIteration
生成器yield

yield:相当于是一个暂停键!不过也可以将这个看作一个迭代器,因为作为一个生成器,当执行到生成器这段代码时,yield会将结果返回,执行下一段代码,然后执行后又会回到这段代码中。

使用yeild来写一个__斐波那契__数(也就是a = 1 ,b = 1,c = a+b a = b,b = c+a......)相信记得的同学应该可以看明白

python 复制代码
import sys
def fibonacci(n):  # 生成器函数
    a, b = 1, 1
    count = 0
    while True:
        if count >= n:  # 检查是否已达到所需的斐波那契数数量
            break  # 退出循环
        yield a
        a, b = b, a + b
        count += 1  # 更新计数
yie = fibonacci(5)  # 生成前5个斐波那契数
while True:
    try:
        print(next(yie), end=" ")
    except StopIteration:
        sys.exit()  # 调用函数来退出程序
相关推荐
大G哥6 分钟前
java提高正则处理效率
java·开发语言
ROBOT玲玉9 分钟前
Milvus 中,FieldSchema 的 dim 参数和索引参数中的 “nlist“ 的区别
python·机器学习·numpy
VBA633716 分钟前
VBA技术资料MF243:利用第三方软件复制PDF数据到EXCEL
开发语言
轩辰~18 分钟前
网络协议入门
linux·服务器·开发语言·网络·arm开发·c++·网络协议
小_太_阳27 分钟前
Scala_【1】概述
开发语言·后端·scala·intellij-idea
向宇it28 分钟前
【从零开始入门unity游戏开发之——unity篇02】unity6基础入门——软件下载安装、Unity Hub配置、安装unity编辑器、许可证管理
开发语言·unity·c#·编辑器·游戏引擎
Kai HVZ1 小时前
python爬虫----爬取视频实战
爬虫·python·音视频
古希腊掌管学习的神1 小时前
[LeetCode-Python版]相向双指针——611. 有效三角形的个数
开发语言·python·leetcode
赵钰老师1 小时前
【R语言遥感技术】“R+遥感”的水环境综合评价方法
开发语言·数据分析·r语言
m0_748244831 小时前
StarRocks 排查单副本表
大数据·数据库·python