Python 很难让我的代码正确运行
这里的初学者程序员正在使用Python,我目前遇到了一个bug 我试图编写一个函数,当用户输入一个数字时,如果数字输入为5,机器将返回True。如果输入的数字是任何其他数字,它将返回为无 目前,当我输入5时,我将得到True,后面是None。如果我输入任何其他数字,我将得到None,后面再加None。有人有什么想法吗 代码如下:Python 很难让我的代码正确运行,python,Python,这里的初学者程序员正在使用Python,我目前遇到了一个bug 我试图编写一个函数,当用户输入一个数字时,如果数字输入为5,机器将返回True。如果输入的数字是任何其他数字,它将返回为无 目前,当我输入5时,我将得到True,后面是None。如果我输入任何其他数字,我将得到None,后面再加None。有人有什么想法吗 代码如下: x=int(输入('输入一个数字:')) def为五(x): 如果x==5: 打印(真) 其他: 打印(无) 打印(是五(x)) 第一个值来自循环,第二个值“None”
x=int(输入('输入一个数字:'))
def为五(x):
如果x==5:
打印(真)
其他:
打印(无)
打印(是五(x))
第一个值来自循环,第二个值“None”来自打印函数,因为您没有返回任何内容
您可以在不使用print语句的情况下调用函数:
is_it_five (x)
也可以从函数返回并打印
x = int(input('Enter a number: '))
def is_it_five (x):
if x == 5:
return True
else:
return None
print(is_it_five (x))
第一个值来自循环,第二个值“None”来自打印函数,因为您没有返回任何内容 您可以在不使用print语句的情况下调用函数:
is_it_five (x)
也可以从函数返回并打印
x = int(input('Enter a number: '))
def is_it_five (x):
if x == 5:
return True
else:
return None
print(is_it_five (x))
您的问题是,您正在打印一个函数,该函数在调用时已经打印了一些内容。替换 打印(是五(x)) 仅仅 是五(x)吗
您的问题是,您正在打印一个函数,该函数在调用时已经打印了一些内容。替换 打印(是五(x)) 仅仅 是五(x)吗
Python中的函数总是返回一些值。默认情况下,该值为“无”。 所以如果我创建任何随机函数,例如
def get_string(some_string):
print(some_string)
然后执行它;
获取字符串(“示例”)
输出将是
Example
但是,如果您执行打印(获取字符串(“示例”)
输出将更改为
Example
None
这是因为
获取字符串(“示例”)
在本例中,当您将其传递到print语句中时,它被视为对象
但是,当您调用函数而不打印它时,您不会打印函数返回的值
在同样的背景下,如果你做了
value = get_string(some_string)
您的字符串将像往常一样被打印出来,但是现在
value
变量将包含None
Python中的函数总是返回一些值。默认情况下,该值为“无”。
所以如果我创建任何随机函数,例如
def get_string(some_string):
print(some_string)
然后执行它;
获取字符串(“示例”)
输出将是
Example
但是,如果您执行打印(获取字符串(“示例”)
输出将更改为
Example
None
这是因为
获取字符串(“示例”)
在本例中,当您将其传递到print语句中时,它被视为对象
但是,当您调用函数而不打印它时,您不会打印函数返回的值
在同样的背景下,如果你做了
value = get_string(some_string)
您的字符串将像往常一样打印,但是现在
value
变量将包含None
这样使用名称x
是否会导致错误?这样使用名称x
是否会导致错误?将参数也命名为x
不是一个好主意。当进行布尔测试时,只返回布尔值的结果测验使用if:return True
,else:return False
与return
相比是完全多余的。将参数也命名为x
不是一个好主意。进行布尔测试时,只需返回布尔测试的结果。使用if:return True
,else:return False
与return
相比是完全冗余的。