[英]Stuck with implementing permutations using recursion. Not getting any output
[英]Using Recursion / Getting 'None' attached to my output
出于某种原因,我似乎无法正确地返回东西。 我正在尝试使用递归使字符串成为首字母缩略词(请忽略我的代码草率,哈哈)但它只是将 None 附加到我想要的输出的末尾!
我怎样才能解决这个问题? 同样,这个问题需要递归!
def recAbbrev(lst):
'return a single string with the first character of all the strings in a list combined and capitalized.'
if len(lst)== [] :
return 0
if len(lst)>0:
if type(lst[0])==list:
return 1 + recAbbrev(lst[0])
else:
acronym = ""
letter = ""
letter = letter + lst[0][:1]
letter = letter.upper()
acronym = acronym + letter
print(acronym, end = '')
return recAbbrev(lst[1:])
输出
Traceback (most recent call last):
File "C:\Users\17734\OneDrive\Desktop\fall 2021\csc242\homework\csc242hw7-s.py", line 80, in <module>
print(recEvenNumbers(['c','a','t',' ' ,0,'h',1,'a',2,'t',100]))
File "C:\Users\17734\OneDrive\Desktop\fall 2021\csc242\homework\csc242hw7-.py", line 49, in recEvenNumbers
return recEvenNumbers(lst[1:])
File "C:\Users\17734\OneDrive\Desktop\fall 2021\csc242\homework\csc242hw7-s.py", line 49, in recEvenNumbers
return recEvenNumbers(lst[1:])
File "C:\Users\17734\OneDrive\Desktop\fall 2021\csc242\homework\csc242hw7-As.py", line 49, in recEvenNumbers
return recEvenNumbers(lst[1:])
[Previous line repeated 1 more time]
File "C:\Users\17734\OneDrive\Desktop\fall 2021\csc242\homework\csc242hw7-s.py", line 47, in recEvenNumbers
return recEvenNumbers(evens)
File "C:\Users\17734\OneDrive\Desktop\fall 2021\csc242\homework\csc242hw7-.py", line 44, in recEvenNumbers
elif type(lst[0]) == int:
TypeError: 'int' object is not subscriptable
启动 recAbbrev 无 CPUNone RAMNone 启动 recEvenNumbers
thank you!
len
返回一个int
而你不想返回 0
if len(lst)== 0:
return ''
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.