Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我在python 3中的代码出错(硬币兑换问题)_Python_Python 3.x - Fatal编程技术网

我在python 3中的代码出错(硬币兑换问题)

我在python 3中的代码出错(硬币兑换问题),python,python-3.x,Python,Python 3.x,这就是错误: Message File Name Line Position Traceback 34 count 25 TypeError: unsupported operand type(s) for -: 'int' and 'str' 消息文件名行位置 回溯 34 数到25 TypeError:-:“int”和“str”的操作数类型不受支持 代码可在此处找到: import

这就是错误:

Message File Name Line Position Traceback 34 count 25 TypeError: unsupported operand type(s) for -: 'int' and 'str' 消息文件名行位置 回溯 34 数到25 TypeError:-:“int”和“str”的操作数类型不受支持 代码可在此处找到:

import sys N = int(sys.stdin.readline()) #4 munten = [] #1, 2, 5, 10 for p in range(0, N): munten.append(sys.stdin.readline()) bedrag = int(sys.stdin.readline()) #13 m = len(munten) def count(S, m, bedrag): table = [[0 for x in range(m)] for x in range(bedrag+1)] for i in range(m): table[0][i] = 1 for i in range(1, bedrag+1): for j in range(m): x = table[i - S[j]][j] if i-S[j] >= 0 else 0 y = table[i][j-1] if j >= 1 else 0 table[i][j] = x + y return table[bedrag][m-1] print(count(munten, m, bedrag)) #output = 16 导入系统 N=int(sys.stdin.readline())#4 munten=[]1,2,5,10 对于范围(0,N)内的p: append(sys.stdin.readline()) bedrag=int(sys.stdin.readline())#13 m=len(munten) def计数(S、m、床单): 表=[[0表示范围内的x(m)]表示范围内的x(床单+1)] 对于范围内的i(m): 表[0][i]=1 对于范围内的i(1,床单+1): 对于范围内的j(m): 如果i-S[j]>=0,则x=表[i-S[j]][j],否则为0 y=表[i][j-1],如果j>=1,则为0 表[i][j]=x+y 返回表[床单][m-1] 打印(计数(munten、m、bedrag))#输出=16
输入:N=4(数组中的硬币数量),(数组)munten=(1,2,5,10),(支付金额)bedrag=13-->(我可以用数组中的硬币支付的组合数量)输出=16

munten
是代码中的字符串列表

for p in range(0, N):
    munten.append(int(sys.stdin.readline()))
执行示例

> python3 sample.py
> 4  #N
> 1  #munten0
> 2  #munten1
> 5  #munten2
> 10 #munten3
> 13 #bedrag 
16

该错误表示您正试图使用字符串执行减法。在使用
-
运算符的任何位置检查代码。