0
我在寫代碼來計算一些矢量操作我scalarproduct腳本不起作用:載體腳本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調用。我不明白,爲什麼第一塊工程和第二塊工程都失敗了。是不是在json創建的列表上定義了mupliplication?
這裏是我的代碼:
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 [I] + my_list2 [I]'(它增加了兩個列表)和'D = D + my_list1 [i] * my_list2 [i]',在乘法結果的周圍沒有'[]',它增加了列表和乘法結果。您可能在前面的行中表示'D = 0'而不是'D = []'。 –
是的,這是空的標量不是空矢量感謝 – Anzzi