子列表到字符串 Python
Sublist into String 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, remain, 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
操作。
我有一个小问题,我有这段代码,我需要将最终打印转换为字符串,以便能够在不同的行中打印最终结果并将分隔符“,”更改为“+”。 如果有人可以帮助我解决这个问题,我将不胜感激 :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, remain, 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
操作。