【蓝桥杯7天速成】第六章:Python循环结构详解,从基础到实战

Python循环结构详解:从基础到实战

1. range函数核心用法

1.1 基本语法

range(start, stop[, step])

1.2 参数说明

参数默认值说明
start0起始值(包含)
stop必填终止值(不包含)
step1步长(正数递增/负数递减)

1.3 典型示例

range(5)        # 0,1,2,3,4
range(0,9,3)    # 0,3,6
range(10,0,-2)  # 10,8,6,4,2

2. for循环结构解析

2.1 基本语法

for 变量 in 可迭代对象:
    循环体代码块

2.2 执行流程

  1. 从可迭代对象获取第一个元素赋值给变量
  2. 执行循环体代码
  3. 重复步骤1-2直到遍历完所有元素

2.3 遍历range示例

for i in range(1, 6):
    print(f"当前值: {i}")
# 输出:1 2 3 4 5

3. 循环应用案例

3.1 区间数遍历

l = int(input("左边界: "))
r = int(input("右边界: "))
for num in range(l, r+1):
    print(num, end=' ')

3.2 等差数列求和

n = int(input("输入N: "))
sum_result = 0
for i in range(1, n+1):
    sum_result += i
print(f"1到{n}的和为: {sum_result}")

3.3 阶乘计算

n = int(input("输入N: "))
factorial = 1
for i in range(1, n+1):
    factorial *= i
print(f"{n}! = {factorial}")

4. 进阶应用技巧

4.1 奇偶分类求和

n = int(input("输入N: "))
odd_sum = even_sum = 0

# 方法1:条件判断法
for i in range(1, n+1):
    if i % 2 == 1:
        odd_sum += i
    else:
        even_sum += i

# 方法2:range步长优化
odd_sum = sum(range(1, n+1, 2))
even_sum = sum(range(2, n+1, 2))

print(f"奇数和: {odd_sum} 偶数和: {even_sum}")

4.2 等差数列公式法

def arithmetic_series(a1, an, n):
    return (a1 + an) * n // 2

n = int(input("输入N: "))
last_odd = n if n%2 else n-1
last_even = n if not n%2 else n-1

odd_count = (last_odd - 1)//2 + 1
even_count = last_even//2

print(f"奇数和: {arithmetic_series(1, last_odd, odd_count)}")
print(f"偶数和: {arithmetic_series(2, last_even, even_count)}")

5. 编程练习题

题目1:质数判断

n = int(input("输入数字: "))
is_prime = True
for i in range(2, int(n**0.5)+1):
    if n % i == 0:
        is_prime = False
        break
print(f"{n}是质数" if is_prime else f"{n}不是质数")

题目2:九九乘法表

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

题目3:图形打印

n = 5
for i in range(n):
    print(' '*(n-i-1) + '*'*(2*i+1))

6. 常见问题解答

Q:range包含stop值吗?

A:不包含!range始终生成左闭右开区间

Q:如何逆序遍历?

for i in range(10, 0, -1):
    print(i)  # 10到1倒序

Q:如何避免浮点误差?

# 使用整数运算代替浮点数
for i in range(0, 100, 1):
    print(i/100)  # 可能产生精度问题
$(function(){ $.fn.extend({ SimpleTree:function(options){ //初始化参数 var option = $.extend({ click:function(a){ } },options); option.tree=this; /* 在参数对象中添加对当前菜单树的引用,以便在对象中使用该菜单树 */ option._init=function(){ /* * 初始化菜单展开状态,以及分叉节点的样式 */ this.tree.find("ul ul").hide(); /* 隐藏所有子级菜单 */ this.tree.find("ul ul").prev("li").removeClass("open"); /* 移除所有子级菜单父节点的 open 样式 */ this.tree.find("ul ul[show='true']").show(); /* 显示 show 属性为 true 的子级菜单 */ this.tree.find("ul ul[show='true']").prev("li").addClass("open"); /* 添加 show 属性为 true 的子级菜单父节点的 open 样式 */ }/* option._init() End */ /* 设置所有超链接不响应单击事件 */ this.find("a").click(function(){ $(this).parent("li").click(); return false; }); /* 菜单项 接受单击 */ this.find("li").click(function(){ /* * 当单击菜单项 * 1.触发用户自定义的单击事件,将该 标签中的第一个超链接做为参数传递过去 * 2.修改当前菜单项所属的子菜单的显示状态(如果等于 true 将其设置为 false,否则将其设置为 true) * 3.重新初始化菜单 */ option.click($(this).find("a")[0]); /* 触发单击 */ /* * 如果当前节点下面包含子菜单,并且其 show 属性的值为 true,则修改其 show 属性为 false * 否则修改其 show 属性为 true */ /* if($(this).next("ul").attr("show")=="true"){ $(this).next("ul").attr("show","false"); }else{ $(this).next("ul").attr("show","true"); }*/ /* 初始化菜单 */ option._init(); }); /* 设置所有父节点样式 */ this.find("ul").prev("li").addClass("folder"); /* 设置节点“是否包含子节点”属性 */ this.find("li").find("a").attr("hasChild",false); this.find("ul").prev("li").find("a").attr("hasChild",true); /* 初始化菜单 */ option._init(); }/* SimpleTree Function End */ }); });
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

monday_CN

72小时打磨,值得1元认可

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值