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)