python - 关于 if-elif 函数的 Python 函数问题
问题描述
以下是我对 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
奇怪
无
解决方案
Python 函数None
默认返回。在您的情况下,该is_weird()
函数正在返回None
. 因此,当您输入 8 作为输入时,"Weird"
由于函数内部的 print 语句,您的函数会打印,然后返回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
推荐阅读
- vue.js - 如何使用用户输入的值更新 vue js 数组
- javascript - ChartJS 重新渲染错误
- python - 怎么看早停在Keras失去了最佳纪元?
- c# - C# PLINQ WithDegreeOfParallelism 总是加载 100% CPU
- python - 斐波那契数字列表并返回其斐波那契数字
- batch-file - 打开文件后关闭命令提示符窗口
- php - 用表单html在php中制作矩阵
- python - 如何使用 numpy 将 nan 添加到数组的末尾
- java - 在运行时动态更改类字段的注释
- c - 如何在“问题”部分的 Vscode 上显示 C 中的错误代码