循环结构

循环结构

【1】什么是循环结构

  • 循环结构是一种程序控制结构,用于反复执行一组语句,直到满足某个条件为止。
  • 循环结构使得程序可以更有效地重复执行某段代码,节省了编写重复代码的工作。

【2】循环结构的作用

  • 循环结构的主要作用是重复执行一组语句,直到满足某个条件。
  • 这种重复执行的过程可以是固定次数的,也可以是根据条件动态确定的。
  • 循环结构使得程序可以更灵活、高效地处理需要重复执行的任务。

【3】while循环

(1)语法

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

(2) 使用

user_pwd = {'zj': '123', 'lx': '321'}

count = 3
while count > 0:
    count -= 1
    username = input('请输入你的账户名===>>>')
    password = input('请输入你的密码===>>>')
    if username in user_pwd and password == user_pwd.get(username):
        print('登陆成功!')
        break
    else:
        print(f'账号或密码错误,你还有{count}次机会')
        if count == 1:
            print('您还有一次机会')

【4】for循环

(1)语法

for variable in sequence:
    # 循环体
  • for 是循环的关键字。
  • variable 是循环变量,它会在每次循环中取 sequence 中的一个值。
  • sequence 是一个序列,可以是列表、元组、字符串等。

(2)使用

#乘法口诀表
for b in range(1, 10):
     for a in range(1, b+1):
        print('{}*{}={}\t'.format(a, b, b*a), end='')
    print()

【5】退出循环(break)

语法

while condition:
    # 循环体
    if some_condition:
        break  # 退出循环

【6】退出循环(continue)

(1)语法

while condition:
    # 循环体
    if some_condition:
        continue  # 跳过当前循环,继续下一次循环

【7】无限循环(死循环)

  • 有时候,我们需要程序在满足某个条件时一直执行,这就需要用到无限循环。
  • 最简单的无限循环可以通过 while 语句实现,条件永远为真。
while True:
    print("hello world!")
  • 这段代码会一直输出 "This is an infinite loop!",因为 while True: 的条件永远为真,所以循环不会停止。
  • 在实际编程中,我们可能会在无限循环中加入某个条件来实现根据需要退出循环的逻辑
while True:
    user_input = input("Enter 'exit' to end the loop: ")
    if user_input.lower() == 'exit':
        break
    else:
        print("You entered:", user_input)
  • 这个例子中,用户需要输入 'exit' 才能结束循环。这样就可以灵活地在需要的时候退出无限循环。

【8】标志位

(1)语法

flag = True  # 初始化标志位

while flag:
    # 循环体
    if some_condition:
        flag = False  # 修改标志位,退出循环

(2)使用

flag = True  # 初始化标志位

while flag:
    user_input = input("请输入:")
    if user_input == 'exit':
        flag = False  # 当用户输入 'exit' 时,修改标志位,退出循环
    else:
        print("用户输入:", user_input)

【9】循环分支(else)

  • 在while循环的后面
    • 我们可以跟else语句
  • 当while 循环正常执行完并且中间没有被break 中止的话
    • 就会执行else后面的语句
  • 所以我们可以用else来验证
    • 循环是否正常结束

【10】 pass语句

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

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

【补充】range关键字

(1)遍历数字序列

[1]语法

for i in range(stop):
    # 循环体
for i in range(start, stop):
    # 循环体
for i in range(start, stop, step):
    # 循环体

[2]使用

for i in range(5):
    print(i)
# 输出:
# 0
# 1
# 2
# 3
# 4
for i in range(2, 6):
    print(i)
# 输出:
# 2
# 3
# 4
# 5
for i in range(1, 10, 2):
    print(i)
# 输出:
# 1
# 3
# 5
# 7
# 9

(2)指定区间

[1]语法

range(start, stop, step)

[2]使用

for i in range(2, 6):
    print(i)
# 输出:
# 2
# 3
# 4
# 5

(3)步长

[1]语法

range(start, stop, step)

[2]使用

for i in range(1, 10, 2):
    print(i)
# 输出:
# 1
# 3
# 5
# 7
# 9

(4)range + len 遍历序列

[1]原理

my_list = ['apple', 'banana', 'orange']
for i in range(len(my_list)):
    # 循环体

[2]使用

my_list = ['apple', 'banana', 'orange']
for i in range(len(my_list)):
    print(f"Index {i}: {my_list[i]}")
# 输出:
# Index 0: apple
# Index 1: banana
# Index 2: orange

(5)range创建

[1]原理

numbers = list(range(start, stop, step))

[2]使用

numbers = list(range(1, 6))
print(numbers)
# 输出:[1, 2, 3, 4, 5]

【二】循环分支嵌套

  • 循环结构和分支结构可以嵌套在一起,形成复杂的程序逻辑。
for i in range(5):
    print("Outer loop, current value:", i)

    for j in range(3):
        print("Inner loop, current value:", j)

print("Nested loops finished!")
  • 上述代码中,外层循环 for i in range(5): 执行五次,内层循环 for j in range(3): 每次外层循环执行时都会执行三次。这样就形成了嵌套的循环结构。
编写一个程序,随机生成一个三位数,让用户猜测这个数是多少。
# user=input("")====》一个猜的数字
# 用循环以我猜的数字与这个所谓的随机数进行比对
# a 与我猜的数字进行比对
# 三个条件
# 1、大于
# user 》 a 输出你猜的数字太大了你再猜一下
# 2、小于
# user 《a 小了
# 3、等于
user =a 猜对了结束这个流程 (1、while ---break )
import random
number = random.randrange(100,1000)
while True:
lucky_number = int(input('请输入你的幸运数字===》》》'))
    if lucky_number == number:
        print('恭喜你,猜对啦!')
        break
       else:
        if lucky_number > number:
        	print('猜的太大了,请重新输入')
        elif lucky_number < number:
            print('猜的太小了,请重新输入')
posted @ 2023-11-29 20:42  柚见42  阅读(92)  评论(0)    收藏  举报