以下是我对Hackerrank的一个问题的回答。
但是,当我运行代码时,终端中会出现2个值。其中之一是None值。我不确定哪一行代码创建了此None值。请指教。谢谢
代码:
def is_weird(num):
if num % 2 == 1:
print("Weird")
elif num % 2 == 0 and 2 <= num <= 5:
print("Not Weird")
elif num % 2 == 0 and 6 <= num <= 20:
print("Weird")
elif num % 2 == 0 and num > 20:
print("Not Weird")
N = int(input("Enter number: "))
print(is_weird(N))
终端输出:
输入数字:8
很奇怪
没有
答案 0 :(得分:0)
Python函数默认返回None
。在您的情况下,is_weird()
函数将返回None
。
因此,当您输入8作为输入时,由于函数内的print语句,函数将输出"Weird"
,然后返回None
。由于行print(is_weird(N))
您的isweird()函数等效于:
def is_weird(num):
if num % 2 == 1:
print("Weird")
elif num % 2 == 0 and 2 <= num <= 5:
print("Not Weird")
elif num % 2 == 0 and 6 <= num <= 20:
print("Weird")
elif num % 2 == 0 and num > 20:
print("Not Weird")
return None