Ich versuche, eine CSV-Datei als Liste in diesem Python-Programm zu lesen. Die Datei test.csv enthält nur eine Zeile mit verschiedenen Nummern. Ich möchte die mögliche Kombination von Zahlen finden, deren Summe gleich 500 ist, und nachdem das Python-Programm als Liste ausgegeben wurde, fügt es diese Liste in meine test.csv-Datei ein.nicht unterstützte Operandentyp (en) für +: 'int' und 'list'
csv_file.py
import sys
import csv
import os
file_name="test.csv"
path1 = "C:\MAYANK\python p"
path2 = os.path.join(path1, file_name)
with open(path2, 'r') as csv_file:
reader = csv.reader(csv_file, delimiter=",")
row1 = list(reader)
def subset_sum(numbers, target, partial=list()):
s = sum(partial)
# check if the partial sum is equals to target
if s == target:
with open(path2, 'a') as csv_file1:
writer = csv.writer(csv_file1)
writer.writerow(partial)
if s >= target:
return # if we reach the number why bother to continue
for i in range(len(numbers)):
n = numbers[i]
remaining = numbers[i + 1:]
subset_sum(remaining, target, partial + [n])
if __name__ == '__main__':
subset_sum(row1, 500)
ich alle Code geschrieben, aber immer diese Fehlermeldung:
Traceback (most recent call last):
File "csv_file.py", line 33, in <module>
subset_sum(row1, 500)
File "csv_file.py", line 30, in subset_sum
subset_sum(remaining, target, partial + [n])
File "csv_file.py", line 17, in subset_sum
s = sum(partial)
TypeError: unsupported operand type(s) for +: 'int' and 'list'
Diese Funktion funktioniert einwandfrei bei einer gültigen Eingabe, sodass Sie diese Eingabe nicht richtig erhalten. – TemporalWolf