Python编程基础三

一、while循环基础

1. 循环本质与要素

  • 核心机制:基于条件的重复执行过程
  • 两大要素:
    • 条件判断(True继续/False停止)
    • 循环操作(重复执行的内容)

2. 基础语法

while 条件:

        循环体代码(Python)

3. 经典案例

案例1:表白100次

  • 学习Python有助于更好地理解循环机制
  • i = 0
    
    while i < 100:
    
            print("小美我喜欢你!")
    
    i += 1

    案例2:1-100累加

    i = 1
    
    sum = 0
    
    while i <= 100:
    
          sum += i
    
           i += 1
    
    print(f'1-100累加的和是:{sum}') # 输出5050

    案例3:猜数字游戏

    import random
    
    num = random.randint(1, 100)
    
    flag = True
    
    count = 0 # 添加计数器初始化
    
    while flag:
    
                guess_num = int(input("请输入你猜测的数字: "))
    
                  count += 1
    
                  if guess_num == num:
    
                            print("猜中了")
    
                            flag = False
    
                            print(f"总共猜测了{count}次")
    
                     else:
    
                                    if guess_num>num:
    
                                               print("你猜大了")
    
                                    else:
    
                                           print(“你猜小了”)

    二、while循环嵌套

    1. 语法规范

    • 使用空格缩进确定层次关系(外层4空格,内层8空格)
    • 每层需要独立控制变量

    2. 表白案例

    i = 1
    
    while i <= 100:
    
                 print(f"今天是第{i}天,准备表白...")
    
                  j = 1
    
                  while j <= 10:
    
                            print(f"送给小美第{j}朵玫瑰花")
    
                             j += 1
    
                             print("小美我喜欢你")
    
                     i += 1
    
    print(f"坚持到第{i-1}天,表白成功")

    三、for循环全解析

    1. 核心特性

    • 本质区别:for循环是一种”轮询”机制,对一批内容进行”逐个处理”,而while循环的条件是自定义的
    • 适用场景
      • 字符串处理
      • 列表/元组遍历
      • 已知范围的数值处理

    2. 基础语法

    for 临时变量 in 数据集:

    循环体代码

    3. 经典案例

    案例1:字符串遍历

    name = "itheima"
    
    for char in name:
    
            print(char) # 逐个输出字符:i t h e i m a

    案例2:统计字母a出现次数

    text = "itheima is a brand of itcast"
    
    count = 0
    
    for char in text:
    
               if char == 'a':
    
                           count += 1
    
    print(f"字符串中共包含{count}个字母a") # 输出4个

    四、range语句详解

    1. 三种使用形式

    语法形式示例输出范围
    range(num)range(5)0-4
    range(start, end)range(5,10)5-9
    range(start, end, step)range(5,10,2)5,7,9

    语法1:range(num) 生成从0开始到num-1的序列

    示例:range(5) →【0,1,2,3,4】

    特点:不包含num本身,最大值为num-1

    语法2:range(num1, num2) 生成从num1到num2-1的序列

    示例:range(5,10) →【5,6,7,8,9】

    语法3:range(num1, num2, step) 带步长的数字序列

    示例:range(5,10,2) →【5,7,9 】

    默认步长:step默认为1

    2. 实际应用

    生成1-100的偶数序列

    for num in range(2, 101, 2):
    
         print(num)

    五、循环控制双雄

    1. continue使用示例

    打印1-10的奇数

    for i in range(1,11):
    
    if i % 2 == 0:
    
                continue
    
    print(i) # 输出1,3,5,7,9

    2. break使用示例

    # 密码输入验证

    password = "123456"
    
    while True:
    
    user_input = input("请输入密码:")
    
                 if user_input == password:
    
                 print("登录成功!")
    
                  break
    
    print("密码错误,请重试")

    3. 嵌套循环中的控制

    # 多层循环中的break
    
    for i in range(3):
    
          print(f"外层循环第{i}次")
    
          for j in range(5):
    
               if j == 2:
    
               break # 仅终止内层循环
    
               print(f"--内层循环第{j}次")

    六、综合实战案例

    1. 九九乘法表实现

    for i in range(1, 10):
    
        for j in range(1, i+1):
    
             print(f"{j}×{i}={j*i}\t", end='')
    
        print()

    2. 实现要点解析

    • 动态范围控制range(1, i+1)确保每行列数与行号匹配
    • 输出格式化
      • \t 制表符保证对齐
      • end='' 禁止自动换行
      • 外层循环的print()实现换行

    七、编程规范与技巧

    1. 变量作用域管理

    # 推荐写法(避免临时变量泄露)

    i = 0 # 显式声明控制变量
    
    for i in range(5):
    
            print(i)
    
    print(f"最终i值:{i}") # 输出4,但建议避免这种用法

    2. 循环选择指南

    循环类型适用场景特点
    while不确定次数的循环需要手动控制循环变量
    for已知数据集/确定次数的遍历自动迭代元素

    3. 性能优化建议

    • 避免在循环体内进行重复计算
    • 大数据集遍历优先使用生成器
    • 嵌套循环尽量将大循环放在外层