2016-10-15 95 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