我的代码在Pycharm中运行良好,但是如果在控制台(Ubuntu终端)中键入add,则会收到错误消息。
我在Pycharm IDE之外的控制台中收到错误:
Traceback (most recent call last):
File "main.py", line 37, in <module>
getStr = input('>: ')
File "<string>", line 1, in <module>
NameError: name 'add' is not defined
我的代码:
#!/user/bin/python3
class Item:
itemsCount = 0
def __init__(self, sku, bWidth, bHeight, bLength, quantity, bWeight):
self.sku = sku
self.bWidth = bWidth
self.bHeight = bHeight
self.bLength = bLength
self.quantity = quantity
self.bWeight = bWeight
Item.itemsCount += 1
def DisplayItem(self):
print('[SKU : ', self.sku, '] [Width : ', self.bWidth, '] [Height : ', self.bHeight,
'] [bLength : ', self.bLength, '] [Quantity : ', self.quantity, '] [bWeight : ',
self.bWeight, ']')
items = [Item]
print('Dan\'s Warehouse Inventory')
print('Current Stock in inventory : [', Item.itemsCount,']\n' )
while True:
getStr = input('>: ')
if getStr == 'add':
getSku = input('SKU : ')
getWidth = int(input('Width : '))
getHeight = int(input('Height : '))
getLength = int(input('bLength : '))
getQuantity = int(input('Quantity : '))
getWeight = int(input('Weight : '))
items.append(Item(getSku, getWidth, getHeight, getLength, getQuantity, getWeight))
print(Item.itemsCount)
else:
print('Invalid command.')
我不确定自己在做什么错...感谢您的帮助!
答案 0 :(得分:1)
您正在可能在IDE外部的Python2下运行它,其中input
用于获取字符串 并将其视为Python表达。似乎您输入的是add
一词(因为这是您将输入与之比较的一件事),而Python2正正抱怨它无法评估它。
Python 2 raw_input
等同于Python 3 input
,因此您可以使用它,也可以确保它由 Python3 而不是Python2运行。