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

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


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。


  • 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)))


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

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

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

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

  • 一个炊事员上街采购,用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)

目录
相关文章
|
算法 Java 测试技术
【备战蓝桥杯 | 软件Java大学B组】十三届真题深刨详解(2)
【备战蓝桥杯 | 软件Java大学B组】十三届真题深刨详解(2)
62 0
|
5月前
|
Java API
备战第十五届蓝桥杯Java软件开发大学B组常见API记录
备战第十五届蓝桥杯Java软件开发大学B组常见API记录
35 0
|
6月前
|
算法 安全 定位技术
【刷题】备战蓝桥杯 — dfs 算法
dfs算法在数据较小的情况下可以使用。 一定一定要确定好终止条件,避免栈溢出。 相应做好回溯,保证每次的遍历都是不一样的选择,避免少结果。 针对题目进行对应细节处理,有能力的话可以进行剪枝优化!!!
64 0
|
存储 人工智能 Java
【备战蓝桥杯 | 软件Java大学B组】十三届真题深刨详解(1)
【备战蓝桥杯 | 软件Java大学B组】十三届真题深刨详解(1)
490 0
|
6月前
蓝桥杯备战刷题-滑动窗口
蓝桥杯备战刷题-滑动窗口
43 0
|
6月前
|
索引 Python 容器
【备战蓝桥杯】探索Python内置标准库collections的使用
【备战蓝桥杯】探索Python内置标准库collections的使用
88 1
|
6月前
|
开发者 Python
【备战蓝桥杯】如何使用Python 内置模块datetime去计算我与CSDN相遇的天数
【备战蓝桥杯】如何使用Python 内置模块datetime去计算我与CSDN相遇的天数
69 1
|
6月前
【备战蓝桥杯】——Day1
【备战蓝桥杯】——Day1
49 0
|
6月前
|
存储 算法
从0备战蓝桥杯:找出只出现一次的数字,数单身狗
从0备战蓝桥杯:找出只出现一次的数字,数单身狗
63 0
从0备战蓝桥杯:找出只出现一次的数字,数单身狗
|
6月前
|
人工智能 算法 Java
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1005 数字游戏
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1005 数字游戏
106 0