Python “错误”;以10为基数的int()的文本无效:';["x27",;
我试图通过循环找到一个数字的数字和 我创建了一个helper函数,使数字成为一个列表。 但是,我不断发现以10为基数的int()的Python “错误”;以10为基数的int()的文本无效:';["x27",;,python,python-2.7,Python,Python 2.7,我试图通过循环找到一个数字的数字和 我创建了一个helper函数,使数字成为一个列表。 但是,我不断发现以10为基数的int()的无效文本:'['是问题所在 def digital_helper(num): a = num b = str(a) list1 = [] for digits in b: list1.append(int(digits)) return list1 def digital_sum(num): while
无效文本:'['
是问题所在
def digital_helper(num):
a = num
b = str(a)
list1 = []
for digits in b:
list1.append(int(digits))
return list1
def digital_sum(num):
while len(digital_helper(num)) > 1:
return digital_sum(digital_helper(sum(digital_helper(num))))
else:
return sum(digital_helper(num))
错误:
>>> digital_sum(10)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 3, in digital_sum
File "<stdin>", line 2, in digital_sum
File "<stdin>", line 6, in digital_helper
ValueError: invalid literal for int() with base 10: '['
数字总和(10)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“”,第3行,数字和
文件“”,第2行,数字和
文件“”,第6行,在digital_helper中
ValueError:以10为基数的int()的文本无效:'['
紧跟球:
num
最初是一个整数digital\u helper()
但是,返回一个列表,然后再次传递给digital\u sum()
:
return digital_sum(digital_helper(...))
digital_sum()
中的递归调用中,num
现在是一个列表num
传递给digital\u helper()
,但现在它是一个列表,代码失败代码失败是因为像
[1,2,3]
这样的数字列表变成字符串时包含字符'['
,而该字符不是整数。那么什么是num
呢?你有一个[
的值,它不是一个数字。数字助手中的num
是列表吗?如果是,那么,str(listvalue)
将生成一个带方括号的字符串。这是一个数字,但digital_helper会生成一个列表。有关您编写的代码问题的问题必须在问题本身中描述具体问题,并包含重现问题的有效代码。请参阅SSCCE.org以获取指导。这是有意义的。我将对此进行修改!