[英]Python 3: N is odd number and greater than - code not working properly
我是 Python 的新手,我偶然发现了一个名为 HackerRank 的有趣网站,您可以在其中通过解决任务来取得进步。 我坚持这个: https://www.hackerrank.com/challenges/py-if-else/problem
尽管有多种方法可以解决此问题,但我已尝试使用任务描述中所示的 elif 语句来解决此问题,但由于某种原因,我无法解决此问题,因为我的代码的最后一行(elif 语句)不起作用.
代码:
if __name__ == '__main__':
N = int(input())
num = N % 2
if num > 0:
print("Weird")
elif num == 0 and range(6,20):
print("Weird")
elif num == 0 and range(2,5):
print("Not Weird")
elif num == 0 and N > 20:
print("Not Weird")
所以一切正常,直到检查数字是否为偶数且大于 20。我用谷歌搜索和搜索,在我看到的所有地方,这个和运算符应该工作,但它在我的情况下不工作。 谁能帮忙?
您对range (...) 的使用是错误的。
if __name__ == '__main__':
N = int(input())
num = N % 2
if num > 0:
print("Weird")
elif num == 0 and 6 <= N <= 20:
...
只是为了使用您的范围理念:
# The example bellow just work with int numbers and is more slow than the above approach.
elif num == 0 and N in range(2,21):
if __name__ == '__main__':
N = int(input())
num = N % 2
if num > 0:
print("Weird")
elif num == 0 and N in range(2,6):
print("Not Weird")
elif num == 0 and N in range(6,21):
print("Weird")
elif num == 0 and N > 20:
print("Not Weird")
我认为它应该是N in range 并且 range(2,6) 意味着 [2 3 4 5] 如果你不在 range 中使用 N 你会得到错误的答案。 我认为这与您的条件检查错误无关,而是关于难以从范围中找出值的错误。
n = int(input())
while True:
if n==0:
print("please enter positive integer")
break
if (n%2) != 0:
print("Weird")
elif (n%2) == 0 and 2<= n <= 5:
print("Not Weird")
elif (n%2) ==0 and 6 <= n <= 20:
print("Weird")
elif (n%2) ==0 and n > 20:
print("Not Weird")
if n%2!=0:
print("Weird")
elif n%2==0 and n in range(2,6):
print("Not Weird")
elif n%2==0 and n in range(6,21):
print("Weird")
elif n%2==0 and n>20:
print("Not Weird")
if __name__ == '__main__':
n = int(input().strip())
num = n % 2
if num != 0:
print("Weird")
elif (num == 0):
if n in range(2, 5):
print("Not Weird")
if n in range(6, 21):
print("Weird")
if (n > 20):
print("Not Weird")
看看这个问题......范围格式让我第一次(2:5)
而不是(2, 5)
。 然后还有6, 21
而不是6, 20
:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.