TypeError: kann nur concatenate list (not "float") zu Liste
Ich habe ein Stück code, dass ist wohl Druck-ein Wort mit einer Zahl.
import Lab4
def priceList(myList):
for item in myList:
result = Lab4.getGroceryList() + Lab4.getPrice(item)
print(result)
Aber wenn ich es in python, wirft dieser Fehler
Traceback (most recent call last):
File "<pyshell#10>", line 1, in <module>
print(priceList(myList))
File "C:/Users/Christopher/Desktop/Lab4/total.py", line 5, in priceList
result = Lab4.getGroceryList() + Lab4.getPrice(item)
TypeError: can only concatenate list (not "float") to list
Ich weiß nicht, warum dies so ist, geworfen wird der code, der im Aufruf ist in diesem
def getPriceList():
global price_list;
result = [];
f = open("price_list.txt","r");
for line in f:
temp = line.split(" ");
item = [ temp[0].strip() ];
item = item + [ float(temp[1])];
result = result + [ item ];
price_list = result;
return result;
Der getPrice-Funktion liefert den Preis des Artikels übergeben wird
als parameter. Wenn der Artikel nicht in der Preisliste gibt es 0.0.
def getPrice(item):
if len(price_list) == 0:
getPriceList()
for line in price_list:
if item == line[0]:
return line[1];
return 0.0;
Warum ist dieser Fehler?
- Weil Sie versuchen, hinzufügen einer Liste und einem Schwimmer. Was haben Sie beabsichtigen, es zu tun?
- Ich versuche, drucken Sie eine Liste rufe ich von meinem computer mit den entsprechenden Preisen.
- Semikolons‽‽ Ketzerei!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nicht fügen Sie eine Liste und float zusammen. Entweder hängen Sie den Schwimmer auf der Liste wie diese:
Stellen oder schweben Sie in einer Liste vor dem hinzufügen. Wie diese:
BITTE auch BITTE verwenden Sie niemals Semikolons in python!
Hast du es direkt hier:
obwohl, mit mehr Erfahrung, Sie werden schreiben, wie:
statt. Die gleichen Arten von Dingen, die hier gebraucht werden:
Wenn
getGroceryList()
gibt eine Liste, undgetPrice(item)
gibt einen Schwimmer, Sie können nicht einfach hinzufügen. Ähnlich zu dem, was Sie Tat anderswo,funktionieren würde. Gut, es wäre arbeiten in der isolation. Ihre
priceList()
Funktion hat andere Probleme zu 😉Müssen Sie zuerst konvertieren Sie Ihre Schwimmer auf einer Liste zuerst, wenn Sie möchten, verwenden Sie den Additionsoperator mit Listen. Der Additions-operator ist im Grunde wie die
extend
Methode, so werden beide Operanden müssen, werden von der Liste geben Sie in diesem Fall.Obwohl da der Preis nicht eine Liste schon, es macht viel mehr Sinn, einfach hängen Sie Ihre Liste wie folgt: