Python 有人能解释一下为什么我的代码不能正常工作吗?
我正在做一个挑战,但出于某种原因,每次我运行时,它都会说7个测试用例中有3个是不正确的,不知道为什么?一切似乎都井然有序。这是任务的挑战 给定一个整数,执行以下条件操作: 如果是奇数,打印奇数 如果是偶数且在5到的2范围内,则打印不奇怪 如果为偶数且包含在6到20的范围内,请打印“怪异” 如果是偶数且大于20,则打印不奇怪 我的代码如下:Python 有人能解释一下为什么我的代码不能正常工作吗?,python,if-statement,range,Python,If Statement,Range,我正在做一个挑战,但出于某种原因,每次我运行时,它都会说7个测试用例中有3个是不正确的,不知道为什么?一切似乎都井然有序。这是任务的挑战 给定一个整数,执行以下条件操作: 如果是奇数,打印奇数 如果是偶数且在5到的2范围内,则打印不奇怪 如果为偶数且包含在6到20的范围内,请打印“怪异” 如果是偶数且大于20,则打印不奇怪 我的代码如下: 要在范围中包括5和20,您需要将其指定为number+1。范围不包括最后一个数字。此外,当如果失败时,控件跳转到else时,无需每次在else部分检查偶数条件
要在范围中包括5和20,您需要将其指定为
number
+1
。范围不包括最后一个数字。此外,当如果
失败时,控件跳转到else
时,无需每次在else部分检查偶数条件
n = int(input().strip())
if n % 2 != 0:
print("Weird")
else:
if n in range(2,6):
print("Not Weird")
elif n in range(6,21):
print("Weird")
elif n > 20:
print("Not Weird")
试试这个
n = int(input().strip())
if n % 2 != 0:
print("Weird")
else:
if n in range(2,6):
print("Not Weird")
elif n in range(6,21):
print("Weird")
elif n > 20:
print("Not Weird"
5
和20
在问题范围内是独占的还是包含的?它们是包含的您对“偶数”的条件是错误的,实际上根本不需要,因为“奇数”已经被处理了。你能详细解释一下为什么我不正确吗?好吧,我基本上是在+1的范围内,这就是我的代码被丢弃的原因吗?是的,那些测试用例可能已经覆盖了边缘值!
n = int(input().strip())
if n % 2 != 0:
print("Weird")
else:
if n in range(2,6):
print("Not Weird")
elif n in range(6,21):
print("Weird")
elif n > 20:
print("Not Weird"