Я пишу код, чтобы вычислить некоторые вектор-операцию моего scalarproduct скрипт не работает:векторный скрипт в Python 3
Traceback (most recent call last):
File "C:\Dokumente und Einstellungen\A-PC\Desktop\Kopie von vektorrechnung.py", line 28, in <module>
D = D + my_list1[i] * my_list2[i] #this part prints an Error-Code
TypeError: can only concatenate list (not "int") to list
Первый блок не имеет никаких проблем, я думаю, что проблема заключается в JSON вызов , Я не понимаю, почему первый блок работает, а второй не удается. Является ли mupliplication не определена в списках, созданных json?
вот мой код:
import json
str_list1 = input("Geben Sie den 1. Vektor in der Form [x, y, z] ein: ") #enter 3 coordinates
my_list1 = json.loads(str_list1) #build vector as list in R3
print(my_list1)
str_list2 = input("Geben Sie den 2. Vektor in der Form [x, y, z] ein: ")# ""
my_list2 = json.loads(str_list2) #""
print(my_list2)
print("Welche Berechnung möchten Sie ausführen ?") #choose case
print ("[v]ektoraddition") #vector addition
print ("[s]kalarprodukt") #scalarproduct
Fall = input() # input first char
if Fall == "v": #when input = "v"
C=[]
for i in range(3):
C+=[my_list1[i] + my_list2[i]]
print("Das Ergebnis lautet: ")
print(C) #this part works
elif Fall == "s": #when input = "s"
D=[]
for i in range(3):
D = D + my_list1[i] * my_list2[i] #this part prints an Error-Code
print("Das Skalarprodukt beträgt: ")
print(D)
else:
print("Ungültiger Eingabewert")
Рассмотрим разницу между 'C + = [my_list1 [я] + my_list2 [я]]' (который добавляет два списка) и 'D = D + my_list1 [i] * my_list2 [i]', без '[]' вокруг результата умножения, который добавляет список и результат умножения. Вероятно, вы имеете в виду 'D = 0' вместо' D = [] 'в более ранней строке. –
да, это он пустой скаляр, а не пустой вектор – Anzzi