我正在尝试为Coursera分配的动态编程创建一个硬币找零问题的矩阵。
我能够创建数据框并为其设置初始值。
但是当使用for循环遍历数据帧时,我无法更改其单元格中的值。它使用 .iloc [] 浏览行和列。
到目前为止,这是我在创建数据框时所尝试过的。
import numpy as np
import pandas as pd
amount=int(input())
coins=list(map(int, input().split()))
matrix=pd.DataFrame(np.zeros(shape=(len(coins), amount+1)), columns=list(range(0,amount+1)))
matrix.iloc[0]=matrix.columns
print(matrix)
for i in matrix.index[1:]:
for j in matrix.columns[1:]:
if j>=coins[i-1]:
matrix.iloc[i,j]=min(matrix.iloc[i-1,j], matrix.iloc[i,j-i+1])
else:
matrix.iloc[i,j]=matrix.iloc[i-1,j]
print(matrix)