Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python “错误”;以10为基数的int()的文本无效:';["x27",;_Python_Python 2.7 - Fatal编程技术网

Python “错误”;以10为基数的int()的文本无效:';["x27",;

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

我试图通过循环找到一个数字的数字和 我创建了一个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 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以获取指导。这是有意义的。我将对此进行修改!