这是我的代码,代码的目的是假设两个整数并产生一个列表.开始对于一个数字,将其非零数字相乘,然后将该乘积与该数字相加。这是序列中的新数字。重复示例:从12: 将数字(1*2)相乘,然后相加->;14。将其数字(1*4)相乘,再加上->;18,依此类推在上面当它达到极限时将停止(除了起始数字)。two integers 12,5(limit) and produce a list ['12','14','18','26','38','62']
我检查了很多次,不知道为什么会出现TypeError:'int'对象不可订阅。有人能帮我追踪吗?:)
def check_n(n,p,p1,old_t,new_t,fn1,t,limit):
if len(new_t) - 1 != limit:
if n != "":
if int(n[0]) != 0:
p = p*int(n[0])
t = p + fn1
return check_n(n[1:],p,p1,old_t,new_t,fn1,t,limit)
else:
return check_n(n[1:],p,p1,old_t,new_t,fn1,t,limit)
else:
pl = p1 + "," + str(t)
old_t = str(fn1) + p1
new_t = old_t.split(',')
return check_n(t,p,p1,old_t,new_t,fn1,t,limit)
else:
return new_t
def in_both_sequences(n,limit):
fn1 = n
n = str(n)
p = 1
p1 = ""
old_t = []
new_t = []
t = 0
return check_n(n,p,p1,old_t,new_t,fn1,t,limit)
我无法复制同样的错误。但我调整了方法,这是你想要的清单
在check\ n函数中,n必须是字符串。但当支票打到底部时
输入t,它是一个整数。你知道吗
相关问题 更多 >
编程相关推荐