我正在进行30天的代码挑战,并通过了5/8测试我的代码,无法弄清它不断失败的原因
参数是 如果N是奇数打印怪异的, 如果N是偶数且在2-5的范围内,则打印不奇怪 如果N是偶数且在6到20的范围内,则很奇怪 如果N是偶数且大于20则打印不奇怪
N = int(input())
if N % 2 == 0 and range(2-5):
print("Not Weird")
elif N % 2 == 0 and range(6-20):
print("Weird")
elif N % 2 == 0 and N > 20:
print("Not Weird")
elif N % 2 == 1 :
print("Weird")
答案 0 :(得分:1)
if N % 2 == 0 and range(2-5):
没有按照您的想法做,而是应该像这样:
if N % 2 == 0 and N in range(2, 6):
特别是:
答案 1 :(得分:1)
1)具有定义的乞求和结束功能的函数range
是一个以2个参数为参数的函数。因此,建议您将其用作range(x,y)
而不是range(x-y)
。
如果您像range(2-5)
一样使用它,则实际上是在要求range(-3)
。当仅使用1个arg时,函数range
将为您提供int
从0到输入arg 的列表。
考虑到没有整数大于0 小于-3 ,那么您得到的是一个空列表。
2)另外,请注意上限不包括在内:
>>> for i in range(2,5):
... print(i)
...
2
3
4
因此您可能会考虑在第一种情况下使用range(2,6)
,在第二种情况下使用range(6,21)
,依此类推。依此类推。
答案 2 :(得分:0)
要扩展@paxdiablo的答案,您还可以使用step
的{{1}}参数来测试偶数:
range