我需要打印出 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.")
帮助?
请您参考如下方法:
您需要在一个 语句中测试所有 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.")
此处的 和 运算符确保在打印之前满足所有三个条件。
您正在单独测试每个条件,这意味着如果数字是 10,您仍在打印 The number 10 is ok. 因为它不能被 3 整除。对于数字是没问题,你正在打印 The number ... is ok. 3 次,因为你的代码测试它不能分别被 3 个不同的数字整除,每次打印.
