Python 我必须调用一个函数并获得输出
我有一个功能:Python 我必须调用一个函数并获得输出,python,Python,我有一个功能: def divisible(num): if num%9 == 0: print("true") else: print("false") 通过使用这个函数,我必须得到可被1到100之间的9个数字整除的输出。我怎么能得到这个?我是python新手,谁能帮我解决这个问题呢 到目前为止,我试图这样称呼: for i in range(10): j = divisible(i) if j == 'true
def divisible(num):
if num%9 == 0:
print("true")
else:
print("false")
通过使用这个函数,我必须得到可被1到100之间的9个数字整除的输出。我怎么能得到这个?我是python新手,谁能帮我解决这个问题呢
到目前为止,我试图这样称呼:
for i in range(10):
j = divisible(i)
if j == 'true':
print(i)
但它没有给我确切的输出。我必须得到像
(9,18,36,45等)
您当前的打印true
和false
作为您函数的值。您需要返回它们
def divisible(num):
if num % 9 == 0:
return 'true'
else:
return 'false
当前将true
和false
打印为函数中的值。您需要返回它们
def divisible(num):
if num % 9 == 0:
return 'true'
else:
return 'false
divisible()
函数不返回任何内容。将输出写入控制台(使用print()
)与将结果返回给调用者不同
由于函数不返回值,Python将返回值设置为None
None==“true”
永远不会为true,因此循环不会打印任何内容
返回布尔值,而不是打印;True
或False
:
def divisible(num):
if num%9 == 0:
return True
else:
return False
甚至,由于=
生成布尔值:
def divisible(num):
return num%9 == 0
当然,您仍然可以返回字符串,return'true'
或return'false'
,但是Python为此有特殊的对象,许多Python代码可以直接使用布尔值
现在,您的函数将向调用者返回您可以测试的内容:
for i in range(10):
j = divisible(i)
if j:
print(i)
请注意,j
要么是True
要么是False
,如果直接进行测试,您可以在中使用它。您的divisible()
函数不会返回任何内容。将输出写入控制台(使用print()
)与将结果返回给调用者不同
由于函数不返回值,Python将返回值设置为None
None==“true”
永远不会为true,因此循环不会打印任何内容
返回布尔值,而不是打印;True
或False
:
def divisible(num):
if num%9 == 0:
return True
else:
return False
甚至,由于=
生成布尔值:
def divisible(num):
return num%9 == 0
当然,您仍然可以返回字符串,return'true'
或return'false'
,但是Python为此有特殊的对象,许多Python代码可以直接使用布尔值
现在,您的函数将向调用者返回您可以测试的内容:
for i in range(10):
j = divisible(i)
if j:
print(i)
请注意,j
是True
或False
,您可以直接在测试中使用它。您还可以通过过滤器获得数字列表:
lst = list(filter(lambda x: x%9, range(0,100)))
print(set(range(100)) - set(lst)
# {0, 99, 36, 72, 9, 45, 81, 18, 54, 90, 27, 63}
final_list = list(set(range(100)) - set(lst)).sort() # to sort it
您还可以通过过滤器
获取数字列表:
lst = list(filter(lambda x: x%9, range(0,100)))
print(set(range(100)) - set(lst)
# {0, 99, 36, 72, 9, 45, 81, 18, 54, 90, 27, 63}
final_list = list(set(range(100)) - set(lst)).sort() # to sort it
您应该返回而不是打印
def divisible(num):
if num%9 == 0:
return "true"
else:
return "false"
for i in range(100):
j = divisible(i)
if j == 'true':
print(i)
您应该返回而不是打印
def divisible(num):
if num%9 == 0:
return "true"
else:
return "false"
for i in range(100):
j = divisible(i)
if j == 'true':
print(i)
使用:
这将使你:
[9, 18, 27, 36, 45, 54, 63, 72, 81, 90, 99]
使用:
这将使你:
[9, 18, 27, 36, 45, 54, 63, 72, 81, 90, 99]
您需要在第一个函数中返回true或false?可除函数应返回true或false。您的循环应该运行10次以上打印(“true”)并不意味着返回true:)您需要在第一个函数中返回true或false?可除函数应该返回true或false。你的循环应该运行超过10print(“true”)并不意味着返回true:)更短、更“Pythonic”的方式…[范围内的项目对应(100)如果(项目%9==0)]
你知道,这不是一场炫耀你如何解决问题的竞赛。是的,有很多方法可以用聪明的Python代码来实现这一点,但这篇文章根本没有解决这个问题。OP说“我必须像(9,18,36,45等)”,所以我的解决方案会给他一个更短、更“Pythonic”的列表…[如果(项目%9==0)范围内的项目对应项目(100)]
你知道,这不是一场炫耀你如何解决问题的比赛。是的,有很多方法可以用聪明的Python代码来实现这一点,但是这篇文章根本没有解决这个问题。OP说“我必须像(9,18,36,45等)”,所以我的解决方案会给他那个列表非常感谢,这回答了我的问题非常感谢,这回答了我的问题