2016-10-15 31 views
0
while n == 1: 
    w = inputs.append(input('Enter the product code: ')) 
    with open('items.txt') as f: 
     found = False 
     for line in f: 
      if w in line: 

所以這是帶有問題的代碼的一部分。在最後一行之後會發生一堆與問題無關的東西。當我運行它,我得到的錯誤:
當w在行:
類型錯誤:「在」要求的字符串作爲左操作數,而不是NoneType如何將輸入轉換爲字符串

我知道這是因爲我需要轉換w應用於串莫名其妙,但我不知道該怎麼辦。任何幫助表示讚賞。

+0

Append返回無。保存輸入然後追加。 – Li357

+0

保存追加是什麼意思? – Anya

+0

保存*輸入*,然後附加輸入。 – Li357

回答

1

input()已經返回一個字符串,所以不需要轉換它。

你有這樣的:

w = inputs.append(input('Enter the product code: ')) 

你應該分兩步這樣做,因爲你要分配給wappend()的返回值,而不是input()在這種情況下返回值。無論用戶輸入如何,append()將始終返回None,因此程序中的w將被分配給None。相反,請嘗試:

w = input('Enter the product code: ') 
inputs.append(w) 
+0

是啊有人回答過這個,但我不明白,謝謝你們倆 – Anya

+0

@Anya,現在有意義嗎? – elethan

+0

是的,我明白我出錯的地方。謝謝! – Anya