2013-11-22 156 views
2

我是一個新的編程學生,所以我敢肯定,這只是一些我在尋找,但我不斷收到以下錯誤:類型錯誤:不支持的操作類型NoneType和STR

Traceback (most recent call last): 
    File "/Users/anonymous/Documents/sales with a list.py", line 11, in <module> 
    print("Sales store ") + str(count + 1) + " " + locale.currency(sales[count], grouping = True) 
TypeError: unsupported operand type(s) for +: 'NoneType' and 'str' 

這是代碼我試圖運行:

import locale 
locale.setlocale(locale.LC_ALL, ' ') 

sales = [0.0] * 5 
totalSales = float(0.0) 
for count in range(5): 
    sales[count] = float(input("Enter store sales amount: ")) 
    totalSales = float(totalSales) + float(sales[count]) 
for count in range(5): 
    print("Sales store ") + str(count + 1) + " " + locale.currency(sales[count], grouping = True) 
print("Total Sales of all stores " + locale.currency(totalSales, grouping = True)) 
+0

您可能希望編輯錯誤消息以從文件路徑中省略全名並將其替換爲虛擬名稱。 – JonathanV

回答

2

你試着來連接的print有一些字符串返回值。試試這個:

print("Sales store " + str(count + 1) + " " + locale.currency(sales[count], grouping = True)) 

區別在於第一個print。在您的初始代碼中,您立即關閉「Sales store」後的paren。 print返回None,因此您的代碼就相當於:

None + str(count + 1) + " " + locale.currency(sales[count], grouping=True) 

的替換版本,而不是建立一個大的字符串作爲print一個參數。

相關問題