如何解决子列表到字符串 Python
我有一个小问题,我有这个代码,我需要将最终打印结果转换为字符串,以便能够在不同行中打印最终结果并将分隔符“,”更改为“+”。 如果有人能帮我解决这个问题,我将不胜感激 :D.
提前谢谢^^。
例如:
输入:7
输出:
5 + 2
5 + 1 + 1
2 + 2 + 2 + 1
2 + 2 + 1 + 1 + 1
2 + 1 + 1 + 1 + 1 + 1
1 + 1 + 1 + 1 + 1 + 1 + 1
代码:
def change(coins,amount)
res = []
def getchange(end,remain,cur_result):
if end < 0: return
if remain == 0:
res.append(cur_result)
return
if remain >= coins[end]:
getchange(end,remain - coins[end],cur_result + [coins[end]])
getchange(end - 1,cur_result)
getchange(len(coins) - 1,amount,[])
return res
q = int(input("Write your change: "))
st = change([1,2,5,10],q)
print(st)
解决方法
将最后一行代码从 print(st)
更改为
for s in st:
print('+'.join((map(str,s))))
,
如果 st
是一个整数列表,你可以把它改成
print(" + ".join(str(s) for s in st))
生成器和推导式通常比 map
操作更受欢迎。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。