判断是否是3、5、7的倍数
键盘输入一个数字,判断是否是3、5、7的倍数。输出分四个结果能被整除,不能被整除,有一个能被整除,有两个能被整除。求代码我只能写出两个结果。不能用for语句
可以这样,% 求余数,如果为 0 那么通过 not 转为 1 ,加起来就为索引下标,打印结果都放在 result 的列表中去索引即可:
number = int(input('请输入一个整数:'))
result = ['不能被整除','有一个能整除','有两个能整除','都能被整除']
count = (not number % 3) + (not number % 5) + (not number % 7)
print(result) a = int(input("请输入一个数:"))
if(a%3==0 and a%5==0 and a%7==0):
print("能被整除")
elif(a%3!=0 and a%5!=0 and a%7!=0):
print("不能被整除")
elif((a%3==0 and a%5!=0 and a%7!=0)or(a%3!=0 and a%5==0 and a%7!=0)or(a%3!=0 and a%5!=0 and a%7==0)):
print("有一个能被整除")
else:
print("有两个能被整除") n = int(input('请输入一个整数:'))
i = 0
if n % 3 == 0:
i += 1
if n % 5 == 0:
i += 1
if n % 7 == 0:
i += 1
if i == 3:
print('能被整除')
elif i == 2:
print('有两个能被整除')
elif i == 1:
print('有一个能被整除')
else:
print('不能被整除') 本帖最后由 qin_yin 于 2020-11-12 21:30 编辑
number = int(input('输入数字'))
def fun1(number):
if number % 3 == 0 and number % 5 == 0 and number % 7 == 0:
if number == 0:
pass
else:
print('3,5,7的倍数:',number)
elif (number % 3 == 0 or number % 5 == 0 or number % 7 == 0)and(number % 3 == 0 or number % 5 == 0 or number % 7 == 0):
print('可以两个整除',number)
elif number % 3 == 0 or number % 5 == 0 or number % 7 == 0:
print('能被一个整除',number)
else:
print('不能整除的数:',number)
if number != 0:
return fun1(number-1)
fun1(number)
可以用递归
仅供参考,如果不对的地方,请指出 Twilight6 发表于 2020-11-12 21:10
可以这样,% 求余数,如果为 0 那么通过 not 转为 1 ,加起来就为索引下标,打印结果都放在 result 的列 ...
感谢你的代码,我会认真研究了{:10_288:} 冬雪雪冬 发表于 2020-11-12 21:15
爱了,好简洁{:10_257:} 昨非 发表于 2020-11-12 21:11
感谢你的代码,跟我目前学到的程度很贴近,我会认真研究了 冬雪雪冬 发表于 2020-11-12 21:15
感谢你的代码,我会认真研究了 巴拉巴拉1 发表于 2020-11-12 21:32
感谢你的代码,跟我目前学到的程度很贴近,我会认真研究了
别嫌弃麻烦就好哈{:10_297:} Twilight6 发表于 2020-11-12 21:10
可以这样,% 求余数,如果为 0 那么通过 not 转为 1 ,加起来就为索引下标,打印结果都放在 result 的列 ...
妙极了 qin_yin 发表于 2020-11-12 21:19
number = int(input('输入数字'))
def fun1(number):
if number % 3 == 0 and number % 5 == 0 and n ...
我本以为递归的代码都会比现在较简洁
页:
[1]