PYTHON NOIP 1.4第九题

给定一个整数,判断它能否被3,5,7整除,并输出以下信息:
  1、能同时被3,5,7整除(直接输出3 5 7,每个数中间一个空格);
  2、只能被其中两个数整除(输出两个数,小的在前,大的在后。例如:3 5或者 3 7或者5 7,中间用空格分隔);
  3、只能被其中一个数整除(输出这个除数);
  4、不能被任何数整除,输出小写字符‘n’,不包括单引号。
咋做啊
我试了好多种方法都运行错误
PYTHON

#给定一个整数,判断它能否被3,5,7整除,并输出以下信息:
#  1、能同时被3,5,7整除(直接输出3 5 7,每个数中间一个空格);
#  2、只能被其中两个数整除(输出两个数,小的在前,大的在后。例如:3 5或者 3 7或者5 7,中间用空格分隔);
#  3、只能被其中一个数整除(输出这个除数);
#  4、不能被任何数整除,输出小写字符‘n’,不包括单引号。
lst = []
n = int(input('n:'))
if n % 3== 0 :
    lst.append(3)
if n % 5== 0 :
    lst.append(5)
if n % 7== 0 :
    lst.append(7)
if len(lst) == 3:
    print('3 5 7')
elif len(lst) == 2:
    for i in lst:
        print(i,end=' ')
elif len(lst) == 1:
    print(lst[0])
else:
    print('n')

>>> def judge(n):
    res = []
    for i in [3,5,7]:
        if n%i==0:
            res.append(str(i))
    if res:
        return ' '.join(res)
    else:
        return 'n'

    
>>> n = int(input('输入一个整数n:'))
输入一个整数n:210
>>> print(judge(n))
3 5 7

>>> print(judge(21))
3 7
>>> print(judge(2))
n
>>> print(judge(30))
3 5
>>> print(judge(35))
5 7