前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【备战蓝桥杯】——循环结构

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

作者头像
用户10920432
发布2024-01-29 08:57:41
1190
发布2024-01-29 08:57:41
举报
文章被收录于专栏:Python数据结构与算法

PYTHON中的sum函数

代码语言:javascript
复制
# 列表中的元素求和
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
代码语言:javascript
复制
#利用sum函数,求1-n的所有奇数和,所有偶数和。
n = int(input("请输入一个整数: "))
print(sum(range(1,n+1,2)),sum(range(2,n+1,2)))
  • 注意:因为求和的时候n也要取到,所以才要写成n+1。

Python中的sum函数的应用
Python中的sum函数的应用

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

Exercises1
Exercises1

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

Exercises2
Exercises2
代码语言:javascript
复制
m = int(input())
n = int(input())
t = m % n #余数
while t != 0:
    m,n = n,t
    t = m % n
print(n)
在这里插入图片描述
在这里插入图片描述
  • 总结:抓住规律,拆出循环结束条件,循环内容。

PYTHON中的多重循环

  • tip:如何跳出多重循环
  • 可以设置一个跳出循环的标记
  • 如果需要一次跳出多重循环的时候,可以将这个标记标记为true,那么在下一层循环也判断一下是否要继续跳出循环。
代码语言:javascript
复制
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

Python如何跳出多重循环
Python如何跳出多重循环
  • 一个炊事员上街采购,用500元钱买了90只鸡,其中母鸡一只15元,公鸡一只10元,小鸡一只5元,正好把钱买完。问母鸡公鸡,小鸡各买了多少只?
代码语言:javascript
复制
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)

优化版:

代码语言:javascript
复制
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)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-01-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档