【发布时间】:2022-09-28 16:20:26
【问题描述】:
如果我编写一个主程序来测试它的函数 def as_integer(an_object) 和 def main()
如果参数是表示有效整数的字符串,则返回该整数。否则,返回 NoneType 对象。
为列表中的每个元素调用 as_integer 函数:[\'20\', 10, len, True, \'-six\', \'-10\', \'0\'] 并输出结果对象自己的路线 我应该得到以下输出:
输出:
20
None
None
None
None
-10
0
我开发了以下代码,但仍然出现错误。
我只尝试了我的代码的第一部分并得到 [\'20\', 10, len, True, \'-10\', \'0\'] 打印为 [20, 10, len, True, - 10, 0] 在不同的行上。但没有引号。那会是个问题吗?
我不确定是使用 (isinstance) 还是 (isdigit)。我尝试使用 (isdigit) 来检测 an_object 是数字还是(开头)是 \"-\" 但我会收到错误消息。这就是我到目前为止所拥有的。另外,感谢您在这一切过程中的耐心等待。
def main():
my_list = [\'20\', 10, len, True, \'-10\', \'0\']
for an_object in my_list:
print(as_integer(my_list))
def as_integer(an_object):
if isinstance(an_object, (str, int)):
return int(an_object)
else:
return None
我收到此错误:
#TEST 1#
main() returned None
inputs:
outputs:
** ERROR ** None
* EXPECTED * 20
None
None
None
None
** ERROR ** None
* EXPECTED * -10
** ERROR ** no line
* EXPECTED * 0
----------
#TEST 2#
** ERROR **as_integer(True) returned 1
* EXPECTED * None
inputs:
outputs:
----------
#TEST 3#
as_integer(\'43\') returned 43
inputs:
outputs:
----------
#TEST 4#
as_integer(\'-50\') returned -50
inputs:
outputs:
----------
#TEST 5#
as_integer(id) returned None
inputs:
outputs:
----------