Python 3.x Python3.6-TypeError:';int';对象不可下标
尝试对给定的整数进行加法,例如123435=(1+2+3=6)和(4+3+5=12),并检查它们是否相等。我在下面的代码中遇到错误。我正在使用python 3.6Python 3.x Python3.6-TypeError:';int';对象不可下标,python-3.x,python-2.7,Python 3.x,Python 2.7,尝试对给定的整数进行加法,例如123435=(1+2+3=6)和(4+3+5=12),并检查它们是否相等。我在下面的代码中遇到错误。我正在使用python 3.6 def isEqual(n): num = int(n) val = len(str(n)) mid = len(str(val))//2 return sum(num(val[:mid])) == sum(num(val[mid:])) print(isEqual(132435)) val=len
def isEqual(n):
num = int(n)
val = len(str(n))
mid = len(str(val))//2
return sum(num(val[:mid])) == sum(num(val[mid:]))
print(isEqual(132435))
val=len(str(n))(是int类型)不能使int[:]只与字符串一起工作
def isEqual(n):
val = len(str(n))//2
first_sum = eval(('+').join(str(n)[:val]))
second_sum = eval(('+').join(str(n)[val:]))
return first_sum == second_sum
print(isEqual(132435))
试试这个val=len(str(n))(是int类型的)你不能让int[:]只在字符串中起作用
def isEqual(n):
val = len(str(n))//2
first_sum = eval(('+').join(str(n)[:val]))
second_sum = eval(('+').join(str(n)[val:]))
return first_sum == second_sum
print(isEqual(132435))
return sum(num(val[:mid])) == sum(num(val[mid:]))
试试这个
return sum(num(val[:mid])) == sum(num(val[mid:]))
这里的val
值是6,它是整数,不能对整数进行切片<代码>总和(数值[中间])
您正在尝试分割整数,这将导致错误
>>> 10[:5]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not subscriptable
>>>
>10[:5]
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
TypeError:“int”对象不可下标
>>>
这里的val
值是6,它是整数,不能对整数进行切片<代码>总和(数值[中间])
您正在尝试分割整数,这将导致错误
>>> 10[:5]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not subscriptable
>>>
>10[:5]
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
TypeError:“int”对象不可下标
>>>
我正在尝试获取长度以及从字符串到int的转换。上述问题的可能代码是什么@zimderoI理解了这个问题,感谢您的解决方案。我正在尝试获取长度以及从字符串到int的转换。上述问题的可能代码是什么@zimderoI理解这个问题,并感谢您的解决方案