没有余数的数字python

use*_*730 1 python integer numbers

我需要打印出1和n之间的数字(n用键盘输入),不要除2,3和5.我需要使用while或for循环,其余部分用%.我是新来的,我只是不明白%的用法?我试过这样的事情:

import math

print("Hey. Enter a number.")

entered_number = int(input())

for i in range(1, entered_number):

    if i%2 != 0:
        print("The number", i, "is ok.")
    else:
        pass
    if i%3 != 0:
        print("The number", i, "is ok.")
    else:
        pass
    if i%5 != 0:
        print("The number", i, "is ok.")
Run Code Online (Sandbox Code Playgroud)

救命?

Mar*_*ers 5

您需要在一个语句中测试所有3个条件,而不是在3中:

for i in range(1, entered_number):    
    if i % 2 != 0 and i % 3 != 0 and i % 5 != 0:
        print("The number", i, "is ok.")
Run Code Online (Sandbox Code Playgroud)

and这里的操作员确保在打印之前满足所有三个条件.

您正在单独测试每个条件,这意味着如果数字是10,那么您仍在打印,The number 10 is ok.因为它不能被3整除.对于可以正常打印的数字,您打印了The number ... is ok.3次,因为您的代码测试了它不能分别用3个不同的数字整除,每次打印.