基本上是在尝试学习 Python,我正在参加 hackerrank 30 天挑战。 任务 给定一个整数 n ,执行以下条件操作:
如果n是奇数,打印ok 如果 n 是偶数且在 2 到 5 的范围内,则打印 nok
n = 4
if n in range(2,5) and type(n/2) == int:
print ("ok")
else:
print ("nok")
无论 n 是什么,它都会打印“nok”。
最佳答案
在 Python 3 中 /
总是返回一个 float (isinstance(4/2, int)
is False
since 4/2
返回 2.0
)。
由于您实际上是在检查 n
的奇偶校验,因此请显式检查它:
... and n % 2 == 0:
关于Python "If"+ "And"条件忽略一个。帖子中的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57357054/