Олимпиадный тренинг

Задача . Практикалық жұмыс 1 тоқсан


Задача

Темы:
 

Жеңілдетілген жоба: «Мини-дүкен»

Мақсат

Өткен тақырыптарды (list, dict, function, if/else, for, lambda) қайталап шығу.

Қолданылатын ұғымдар

  • list → тауарлар тізімі

  • dict → әр тауардың сипаттамасы (атау, баға)

  • function → тауарларды көрсету, себетке қосу, жалпы соманы шығару

  • if/else → дұрыс емес енгізуді тексеру

  • for → себетті айналып өту

  • lambda → мысалы, баға бойынша сұрыптау

Міндетті мүмкіндіктер

  1. Тауарлар тізімін шығару (атауы, бағасы).

  2. Таңдалған тауарды себетке қосу (санын енгізбей-ақ, тек 1 дана қосуға болады).

  3. Жалпы соманы есептеу (барлық қосылған тауардың бағасын қосу).

  4. Чек шығару (тауарлардың атын, бағасын, соңында жалпы соманы көрсету).

Тауарлар тізімі мысалы(қазақша) 
dict қолдану арқылы тауарлар тізімін жаса

  1. Алма – 120 ₸

  2. Банан – 180 ₸

  3. Нан – 250 ₸

  4. Сүт – 300 ₸

  5. Қант – 500 ₸

Пайдаланушы сценарийі

  • 1-қадам: Тауарларды көреді.

  • 2-қадам: «Алма» таңдайды → себетке қосылады.

  • 3-қадам: «Нан» таңдайды → себетке қосылады.

  • 4-қадам: «Чек шығару» → экранда «Алма – 120, Нан – 250, Барлығы: 370 ₸» деп шығады.


     

# Тауарлар тізімі (list of dict)
products = [
    {"name": "Алма", "price": 120},
    {"name": "Банан", "price": 180},
    {"name": "Нан", "price": 250},
    {"name": "Сүт", "price": 300},
    {"name": "Қант", "price": 500},
]

# Бос себет
cart = []
def list_products():
     #  Тауарларды көрсететін функция
    for product in products:
        print("Продуктының аты: ", product['name'], "Бағасы: ", product['price'])

def add_to_cart(choice): 
    #себетке қосылатын функция

def show_receipt():
    #Чекті шығаратын функция

#Фунцияларды шақыру арқылы кодты тексеру
while True:
    print('''Операцияның біреуін таңда
    1) Продуктыларды көрсету
    2) Продукты таңдау
    3) Чекті көрсету''')    
    op = int(input("Қайсысын таңдайсыз: "))
    if op == 1:
        list_products()
    elif op == 2:
        pass
    elif op == 3:
        pass
        

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя