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()  # 调用函数来退出程序
相关推荐
谢眠4 分钟前
深度学习day3-自动微分
python·深度学习·机器学习
z千鑫13 分钟前
【人工智能】深入理解PyTorch:从0开始完整教程!全文注解
人工智能·pytorch·python·gpt·深度学习·ai编程
流星白龙28 分钟前
【C++习题】10.反转字符串中的单词 lll
开发语言·c++
尘浮生36 分钟前
Java项目实战II基于微信小程序的校运会管理系统(开发文档+数据库+源码)
java·开发语言·数据库·微信小程序·小程序·maven·intellij-idea
MessiGo36 分钟前
Python 爬虫 (1)基础 | 基础操作
开发语言·python
Tech Synapse42 分钟前
Java根据前端返回的字段名进行查询数据的方法
java·开发语言·后端
乌啼霜满天2491 小时前
JDBC编程---Java
java·开发语言·sql
肥猪猪爸1 小时前
使用卡尔曼滤波器估计pybullet中的机器人位置
数据结构·人工智能·python·算法·机器人·卡尔曼滤波·pybullet
色空大师1 小时前
23种设计模式
java·开发语言·设计模式
Bruce小鬼1 小时前
QT文件基本操作
开发语言·qt