【备战蓝桥杯】——循环结构

](https://img-home.csdnimg.cn/images/20220524100510.png#pic_center)

个人主页: Aileen_0v0
热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法
个人格言:“没有罗马,那就自己创造罗马~”

Stop struggling, life is stopped.

文章目录

    • Python中的sum函数的应用
    • 循环语句
    • Exercises1
    • Exercises2
    • Python如何跳出多重循环

PYTHON中的sum函数
# 列表中的元素求和
my_list = [1, 2, 3, 4, 5]
result = sum(my_list)
print(result)  # 输出:15

# 元组中的元素求和
my_tuple = (10, 20, 30)
result = sum(my_tuple)
print(result)  # 输出:60

# 字典中的值求和
my_dict = {'a': 100, 'b': 200, 'c': 300}
result = sum(my_dict.values())
print(result)  # 输出:600

# 使用自定义初始值求和
my_list = [1, 2, 3, 4, 5]
result = sum(my_list, 10)  # 初始值为10
print(result)  # 输出:25
 
#利用sum函数,求1-n的所有奇数和,所有偶数和。
n = int(input("请输入一个整数: "))
print(sum(range(1,n+1,2)),sum(range(2,n+1,2)))
  • 注意:因为求和的时候n也要取到,所以才要写成n+1。

【备战蓝桥杯】——循环结构_第1张图片


【备战蓝桥杯】——循环结构_第2张图片

  • s = 1+2+3+ … +n , 求 s > 1000时,n的最小值是多少?
s,n= 0,0
while s <= 1000:
    n += 1
    s += n
print(n)
#验算:
print('1-45的和为',sum(range(1,46)))
print('1-44的和为',sum(range(1,45)))
print('1-46的和为',sum(range(1,47)))

【备战蓝桥杯】——循环结构_第3张图片


  • 利用辗转相除法求数字m和n的最大公约数
  • 原理:两个整数的最大公约数等于其中较小的数和两数相除余数的最大公约数

【备战蓝桥杯】——循环结构_第4张图片

m = int(input())
n = int(input())
t = m % n #余数
while t != 0:
    m,n = n,t
    t = m % n
print(n)

【备战蓝桥杯】——循环结构_第5张图片

  • 总结:抓住规律,拆出循环结束条件,循环内容。

PYTHON中的多重循环
  • tip:如何跳出多重循环
  • 可以设置一个跳出循环的标记
  • 如果需要一次跳出多重循环的时候,可以将这个标记标记为true,那么在下一层循环也判断一下是否要继续跳出循环。
stop = False
for i in range(5):
    for j in range(5):
        print("i = ",i,"j = ",j)
        if i == 3 and j == 3:
            stop = True
            break
    if stop:
        break

【备战蓝桥杯】——循环结构_第6张图片

  • 一个炊事员上街采购,用500元钱买了90只鸡,其中母鸡一只15元,公鸡一只10元,小鸡一只5元,正好把钱买完。问母鸡公鸡,小鸡各买了多少只?
count = 0
for x in range (91):
    for y in range(91):
        for z in range(91):
            if x + y + z == 90 and (15 * x ) + (10 * y) + (5 * z) == 500:
                count += 1
                print(x,y,z)

优化版:

count = 0
for x in range (34):
    for y in range(51):
        z = 90 - x - y
        count += 1
        if x + y + z == 90 and (15 * x ) + (10 * y) + (5 * z) == 500:
            print(x,y,z)
#打印计算次数
print(count)

](https://img-home.csdnimg.cn/images/20220524100510.png#pic_center)

你可能感兴趣的:(蓝桥杯,蓝桥杯,职场和发展,开发语言,科技,python)