Код работает в IDE, но не работает в терминальной консоли - PullRequest
0 голосов
/ 21 декабря 2018

Мой код отлично работает в Pycharm, но я получаю сообщение об ошибке, если набираю add в консоли (Ubuntu Terminal).

Ошибка, которую я получаю в консоли за пределами 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.')

Я не уверен, что делаю неправильно ..Любая помощь приветствуется!

1 Ответ

0 голосов
/ 21 декабря 2018

Вы вероятно запускаете его под Python2 вне IDE, где input используется для получения строки , а оценивает ее так, как если бы это было выражение Python.Кажется вероятным, что вы вводите слово add (поскольку это одна из вещей, с которой вы сравниваете ввод), и Python2 справедливо жалуется, что не может его оценить.

Python 2 raw_inputэквивалентно Python 3 input, так что вы можете либо использовать его, либо убедиться, что он работает под Python3 , а не Python2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...