Продуктовый магазин для Python - PullRequest
0 голосов
/ 01 мая 2018

Я был в этом в течение нескольких дней. Мне нужно иметь возможность возвращать в корзину список товаров, которые пользователь купил раньше. Я не знаю что делать!

items = [('diapers', 10.00), ('peanuts', 5.00), ('butter', 6.25), ('cheese', 
3.00), ('milk', 3.5), ('yogurt', 1.99), ('eggs', 4.5), ('bread', 4), 
('shrimp', 2.5), ('coffee', 1.5)]

money = 50
ask = ('buy', 'return', 'quit')
cartList = []

while ask != 'quit':

    print("""

        Diapers ....10.00
        Peanuts ....5.00
        Butter .....6.25
        Cheese .....3.00
        Milk .......3.50
        Yogurt .....1.99
        Eggs .......4.50
        Bread ......4.00
        Shrimp .....2.50
        Coffee .....1.50
        """)

     ask = input('Do you want to buy, return or quit?\n').lower()

     if ask == 'buy':
         item = input('\nWhat item do you need?\n').lower()

         for i in items:
             if item == i[0]:
                 print(item, 'is $', i[1])
                 ques = input('\nDo you want to buy this item? 
                 [Y:N]\n').lower()

             if i[1] > money:
                 print('You do not have enough money for this item :(\n')
                 break

             if ques == 'n':
                 print('Sorry that you do not want that item :(')
                 break

             if ques == 'y':
                 money = money - i[1]
                 print('\nYou now have $', money)
                 cartList.insert(0, item)

                 print('You have these items in your cart:\n', cartList, 
                 '\n')

             else:
                print('You entered an incorrect value :(')

     if ask == 'return':
         ret = input('What item do you want to return?\n')

         for i in cartList:
             if ret == i[0]:
                 print(i[0], '$', i[1])
                 quest = input('Do you want to return this item? 
 [Y:N]]\n').lower()

         else:
             print('This item is not in your cart!\n')



 print('\nThank you for shopping with us!')

Там, где есть спрос = возврат, мне нужно, чтобы пользователь мог вернуть купленный товар. Я пытался сделать несколько попыток, чтобы пользователь мог вернуть товар.

Ответы [ 2 ]

0 голосов
/ 01 мая 2018

В вашем коде есть несколько незначительных ошибок отступов, кроме логики, которую вы пропускаете, например, удаления элемента возврата из вашего списка cartList. Попробуйте напечатать все элементы сразу после входа в систему,

if ask=='return':
     print cartList

после того, как вы попросили клиента вернуть элемент, попробуйте метод удаления python, чтобы вернуть элемент из списка.

for i in cartList:
   cartList.remove(i)
0 голосов
/ 01 мая 2018

Я думаю, что проблема в той части, где вы вставляете свой товар в cartList. Вы только вставляете предмет, а не деньги с ним. Так что в обратной части это должно быть:

if ask == 'return':
    ret = input('What item do you want to return?\n')
    for i in cartList:
        if ret==i:
        ...

Или, если вы хотите вставить товар и деньги в cartList, оно должно быть:

...
if ques == 'y':
    money = money - i[1]
    print('\nYou now have $', money)
    cartList.insert((item,i[1]),0)
...

Кроме того, вы не построили часть if-else для квеста (Y / N) Если пользователь вводит Y, вы можете использовать метод del , чтобы удалить этот элемент из cartList

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