巴拉巴拉1 发表于 2020-11-12 20:59:24

判断是否是3、5、7的倍数

键盘输入一个数字,判断是否是3、5、7的倍数。输出分四个结果能被整除,不能被整除,有一个能被整除,有两个能被整除。求代码我只能写出两个结果。
不能用for语句

Twilight6 发表于 2020-11-12 21:10:12


可以这样,% 求余数,如果为 0 那么通过 not 转为 1 ,加起来就为索引下标,打印结果都放在 result 的列表中去索引即可:

number = int(input('请输入一个整数:'))
result = ['不能被整除','有一个能整除','有两个能整除','都能被整除']
count = (not number % 3) + (not number % 5) + (not number % 7)
print(result)

昨非 发表于 2020-11-12 21:11:19

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("有两个能被整除")

冬雪雪冬 发表于 2020-11-12 21:15:11

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:19:52

本帖最后由 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)
   
      可以用递归
仅供参考,如果不对的地方,请指出

巴拉巴拉1 发表于 2020-11-12 21:31:12

Twilight6 发表于 2020-11-12 21:10
可以这样,% 求余数,如果为 0 那么通过 not 转为 1 ,加起来就为索引下标,打印结果都放在 result 的列 ...

感谢你的代码,我会认真研究了{:10_288:}

qin_yin 发表于 2020-11-12 21:31:29

冬雪雪冬 发表于 2020-11-12 21:15


爱了,好简洁{:10_257:}

巴拉巴拉1 发表于 2020-11-12 21:32:43

昨非 发表于 2020-11-12 21:11


感谢你的代码,跟我目前学到的程度很贴近,我会认真研究了

巴拉巴拉1 发表于 2020-11-12 21:33:34

冬雪雪冬 发表于 2020-11-12 21:15


感谢你的代码,我会认真研究了

昨非 发表于 2020-11-12 21:34:59

巴拉巴拉1 发表于 2020-11-12 21:32
感谢你的代码,跟我目前学到的程度很贴近,我会认真研究了

别嫌弃麻烦就好哈{:10_297:}

hwb19920119 发表于 2020-11-13 00:13:18

Twilight6 发表于 2020-11-12 21:10
可以这样,% 求余数,如果为 0 那么通过 not 转为 1 ,加起来就为索引下标,打印结果都放在 result 的列 ...

妙极了

hwb19920119 发表于 2020-11-13 00:14:19

qin_yin 发表于 2020-11-12 21:19
number = int(input('输入数字'))
def fun1(number):
    if number % 3 == 0 and number % 5 == 0 and n ...

我本以为递归的代码都会比现在较简洁
页: [1]
查看完整版本: 判断是否是3、5、7的倍数