1、用循环语句求1+22+333+4444+55555的和
方法一:
sum = 0 # 变量sum,存储和的累加值 for i in range(1, 6): # 遍历从1到5的所有数字 num = int(str(i) * i) # 将当前数字重复i次并转换为整数 sum += num # 将当前数字累加到sum变量中 print(sum) # 打印和的累加值
方法二:
sum = 0 # 变量sum,用于存储和的累加值 i = 1 # 变量i,用于迭代计数器 while i <= 5: # 在i小于等于5时执行循环 num = int(str(i) * i) # 将当前数字重复i次并转换为整数 sum += num # 将当前数字累加到sum变量中 i += 1 # 将i的值增加1,用于进行下一次迭代 print(sum) # 打印和的累加值
2、求出2000-2100的所有闰年,条件是四年一闰;百年不闰,四百年再闰
方法一:
leap_years = [] # 创建一个空列表,用于存储闰年 for year in range(2000, 2101): # 遍历从2000到2100的每一年 if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:# 判断当前年份是否满足闰年的条件 leap_years.append(year) # 将闰年添加到列表中 print(leap_years) # 打印存储闰年的列表
方法二:
leap_years = [year for year in range(2000, 2101) \ if (year % 4 == 0 and year % 100 != 0) \ or year % 400 == 0]# 使用列表推导式创建了一个列表,其中包含从2000到2100年之间的所有闰年 print(leap_years) # 打印存储闰年的列表
3、输入两个正整数,并求出它们的最大公约数和最小公倍数。
方法一:
def find_gcd(x, y):#自定义函数 求两个数的最大公约数 while(y):# 使用辗转相除法求最大公约数 x, y = y, x % y return x def find_lcm(x, y):#自定义函数 求两个数的最小公倍数 gcd = find_gcd(x, y) lcm = (x * y) // gcd return lcm num1 = int(input("请输入第一个正整数: ")) num2 = int(input("请输入第二个正整数: ")) gcd = find_gcd(num1, num2) lcm = find_lcm(num1, num2) print("最大公约数是:", gcd) print("最小公倍数是:", lcm)
方法二:
import math # 导入math模块 # 获取用户输入的两个正整数 num1 = int(input("请输入第一个正整数: ")) num2 = int(input("请输入第二个正整数: ")) gcd = math.gcd(num1, num2) # 使用math.gcd函数来计算给定两个数的最大公约数 lcm = (num1 * num2) // gcd # 通过两个数的乘积除以最大公约数得到最小公倍数 print("最大公约数是:", gcd) print("最小公倍数是:", lcm)# 打印最大公约数和最小公倍数
4、输出100以内的所有质数。
primes = [] #prime(质数),储存质数 for num in range(2, 101):#遍历2到100所有数字, if all(num % i != 0 for i in range(2, int(num ** 0.5) + 1)):#内置函数all()用于判断是否为质数,返回值为布尔值 primes.append(num)#将获取到的所有质数添加到prinmes print(primes)#打印出所有质数
5、求100以内最大的10个质数的和
primes = [] #prime(质数),储存质数 for num in range(2, 101):#遍历2到100所有数字, if all(num % i != 0 for i in range(2, int(num ** 0.5) + 1)):#内置函数all()用于判断是否为质数,返回值为布尔值 primes.append(num)#将获取到的所有质数添加到prinmes primes.sort(reverse=True)#把得到的所有质数从大到小排序 primes1 = primes[0:10]#切片获取前十个质数 maxhe = sum(primes1)#sum()求和内置函数 print(maxhe)#打印最大的10个质数和
6、 求1到10 所有偶数的和。
even = [] # 空列表even,用于存储偶数 he = 0 # 变量he,用于存储偶数的和 for i in range(1, 11): # 遍历1到10之间的所有数字 if i % 2 == 0: # 判断当前数字是否为偶数 even.append(i) # 将偶数添加到even列表中 he = sum(even) # 计算偶数的和 print(he) # 打印偶数的和
7、将10-20不能被2或3整除的数输出。
for i in range(10, 21): # 遍历从10到20之间的所有数字 if i % 2 != 0 and i % 3 != 0: # 判断当前数字是否不能被2或3整除 print(i, end=",") # 打印当前数字,并以逗号结尾