问题描述
代码讲解
# 输入整数m和整数n
m = int(input())
n = int(input())
# 设置flag 控制是否输出英文逗号"," True输出, False不输出。
flag = False
# 遍历m到n之间的所有整数,存储到变量i中
for i in range(m, n+1):
# 判断i是否能被7整除, 但不被5整除
if i%7 == 0 and i%5 != 0:
# 判断是否可以输出英文逗号,
if flag == True:
print(",", end="") # end="" 取消print()语句的换行
# 输出符合条件的数字 i
print(i, end="")
# 控制之后输出英文逗号
flag= True
例题拓展:
拓展1: 统计整数m到n之间所有整数的和(包含m和n)
【样例输入】
1
100
【样例输出】
5050
# 输入整数m和整数n
m = int(input())
n = int(input())
# 声明变量sum存储整数和
sum = 0
# 遍历m到n之间的所有整数
for i in range(m, n+1):
# sum累加i的值
sum = sum + i
# 输出sum
print(sum)
拓展2: 输入两个整数 m和n输出m到n之间,可以同时被3,5,7整除的整数(包含m和n), 结果输出一行,整数之间用英文逗号隔开。
【样例输入】
100
1000
【样例输出】
105,210,315,420,525,630,735,840,945
m = int(input())
n = int(input())
flag = False
# 遍历m到n之间的所有整数
for i in range(m, n+1):
# 判断i是否被3,5,7整除
if i%3==0 and i%5==0 and i%7==0:
if flag:
print(",", end="")
print(i, end="")
flag = True
拓展3: 闰年判断
闰年的判断标准1: 年份可以被4整除,不能被100整除。
闰年的判断标准2: 年份可以被400整除。
要求输入年份 i , 判断 i 年是否是闰年。
# 闰年的判断
i = int(input())
if i%4==0 and i%100 !=0 or i%400 == 0:
print("是闰年")
else:
print("不是闰年")
【进阶】
输入年份m,n.。 输出m到n之间的所有闰年(包含m和n, m<n)输出年份之间用 逗号隔开。
【样例输入】
2000
2050
【样例输出】
2000,2004,2008,2012,2016,2020,2024,2028,2032,2036,2040,2044,2048
m = int(input())
n = int(input())
flag = False
# 逻辑
for i in range(m, n+1):
# 判断 i 是否是闰年
if i%4==0 and i%100!=0 or i%400==0:
if flag == True:
print(",",end="")
print(i, end="")
flag = True
拓展4: 质数判断
质数(prime number)又称素数,有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为质数。
输入一个整数m 判断m是否为质数。
# 判断质数
# 输入一个数字 m, 判断m是否是质数
m =int(input())
flag = True #假设 m是质数
for i in range(2,m):
if m%i == 0:
flag = False
if flag == True:
print("m是质数")
else:
print("m不是质数")
【进阶】
输入m,n。 输出m到n之间的所有质数(包含m和n, m<n)输出质数之间用 逗号隔开。
【样例输入】
2
30
【样例输出】
2,3,5,7,11,13,17,19,23,29
m = int(input())
n = int(input())
if m <= 1:
m = 2
flag2 = False # 控制逗号
# 得到m到n之间的所有整数
for i in range(m, n+1):
# 判断整数i是否为质数
# 假设法, 枚举法
flag = True
for j in range(2,i):
if i%j == 0:
flag = False
# 如果是质数那么输出
if flag ==True:
if flag2 == True:
print(",", end="")
print(i, end="")
flag2 = True