您的位置:首页 > 移动开发 > Objective-C

TypeError: 'str' object does not support item assignment 的解决方法

2017-10-22 19:26 1306 查看
最近在写高精度减法时,遇到如下的错误提示:

TypeError: ‘str’ object does not support item assignment

在程序中,当出现借位情况时

if a<b:
n1[i+1]=n1[i+1]-1
n1[i]=n1[i]+10


由于n1是字符串,不是数组或列表,因此对字符串进行修改时提示该错误。

改正方法是将n1=n1[::-1]改为

n11=[int(x) for x in n1[::-1]] 转换为列表即可完成。

总结:字符串是不可变对象,不要试图用下标的方法去改变字符串的值。

def sub(n11,n21):
fh=''
if int(n11)<int(n21):
n11,n21=n21,n11
fh='-'
if len(n11)>len(n21):
n21='0'*(len(n11)-len(n21))+n21
print(str(n11))
print(str(n21))
n1=n11[::-1]]
n2= n21[::-1]
i=0
r=[]
while (i<len(n1)):
if int(n1[i])<int(n2[i]):
t1=int(n1[i+1])
**n1[i+1]=str(t1-1)**
n1[i]=str(int(n1[i])+10)
r.append(int(n1[i])-int(n2[i]))
i+=1
return r
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐