Как сделать так, что бы цена бензина зависела от выпадающего списка(АИ-92, АИ-95 и т.д)

Как сделать так, чтобы цена бензина зависела от выпадающего списка(АИ-92, АИ-95 и т.д)?

Вот мой код:

import PySimpleGUI as sg

sg.theme('Black')


def make_window1():
    layout = [
        [sg.Text('Задайте стоимость для каждого пункта или используйте дефолт')],
        [sg.InputText(size=(20, 1), key='-C_FILTRY-'), sg.Text('Цена один фильтр')],
        [sg.InputText(size=(20, 1), key='-C_BALANS-'), sg.Text('Цена за балансировку колёс')],
        [sg.InputText(size=(20, 1), key='-C_MOIKA-'), sg.Text('Цена за одну мойку авто')],
        [sg.InputText(size=(20, 1), key='-C92_RASHOD_SR-'), sg.Text('Цена за литр топлива АИ-92')],
        [sg.InputText(size=(20, 1), key='-C95_RASHOD_SR-'), sg.Text('Цена за литр топлива АИ-95')],
        [sg.InputText(size=(20, 1), key='-C98_RASHOD_SR-'), sg.Text('Цена за литр топлива АИ-98')],
        [sg.InputText(size=(20, 1), key='-C100_RASHOD_SR-'), sg.Text('Цена за литр топлива АИ-100')],
        [sg.InputText(size=(20, 1), key='-CD_RASHOD_SR-'), sg.Text('Цена за литр топлива Дизель')],
        [sg.InputText(size=(20, 1), key='-CG_RASHOD_SR-'), sg.Text('Цена за литр топлива Газ')],
        [sg.InputText(size=(20, 1), key='-C_MASLO-'), sg.Text('Цена за литр масла')],
        [sg.Button('Задать дефолт и продолжить', size=(25, 1)), sg.Button('Далее', size=(15, 1)),
         sg.Button('Выход', size=(25, 1))]
    ]
    return sg.Window('Задайте стоимость ', layout, finalize=True)


def make_window2():
    layout = [
        [sg.Text('Введите все нужные данные для расчёта технического обслуживания парка авто в месяц (30 дней)')],
        [sg.Spin([size for size in range(0, 100)], key='-FILTRY-', size=(20, 1)),
         sg.Text('Фильтры (количество в месяц): ')],
        [sg.Spin([size for size in range(0, 100)], key='-BALANS-', size=(20, 1)),
         sg.Text('Балансировка (количество в месяц): ')],
        [sg.Spin([size for size in range(0, 100)], key='-MOIKA-', size=(20, 1)),
         sg.Text('Мойка (количество в месяц): ')],
        [sg.InputText(size=(20, 1), key='-RASHOD_SR-'),
         sg.Combo(['АИ-92', 'АИ-95', 'АИ-98', 'АИ-100', 'Дизель', 'Газ'], size=(6, 10), key='-TOPLIVO-'),
         sg.Text('Расход топлива, среднее в день (литров): ')],
        [sg.InputText(size=(20, 1), key='-MASLO-'), sg.Text('Масло (литров в месяц)')],
        [sg.Text('Расчёты:'), sg.ML('', size=(37, 10), key='-OUTPUT-'), sg.ML('', size=(37, 10), key='-OUTPUT2-')],
        [sg.Button('Следующее авто', size=(15, 1)), sg.Button('Рассчитать', size=(10, 1)),
         sg.Button('Выход', size=(10, 1))]
    ]
    return sg.Window('Расчёт тех. обслуживания парка авто', layout, finalize=True)


window1, window2 = make_window1(), None

while True:
    window, event, values = sg.read_all_windows()
    #    if window == window1 and event in (sg.WIN_CLOSED, 'Exit'):
    #        break
    if window == window1:
        if event == 'Выход':
            break
        if event == 'Далее':
            c_filtry = float(values['-C_FILTRY-'])
            c_balans = float(values['-C_BALANS-'])
            c_moika = float(values['-C_MOIKA-'])
            c_toplivo = float(values['-RASHOD_SR-'])
            c_maslo = float(values['-C_MASLO-'])
            window1.hide()
            window2 = make_window2()
        if event == 'Задать дефолт и продолжить':
            c_filtry = 535
            c_balans = 500
            c_moika = 1000
            c_toplivo = 45.01
            c_maslo = 700
            window1.hide()
            window2 = make_window2()

    if window == window2:
        window['-OUTPUT2-'].update(
            'Расценки:\n\nФильтры: {0} ₽\nБалансировка: {1} ₽\nМойка: {2} ₽\nРасход: {3} ₽\nМасло: {4} ₽'.format(
                str(c_filtry), str(c_balans), str(c_moika), str(c_toplivo), str(c_maslo))
        )
        if event == 'Выход':
            break
        if event == 'Рассчитать':
            summa = round(
                    float(values['-FILTRY-']) * c_filtry +
                    float(values['-BALANS-']) * c_balans +
                    float(values['-MOIKA-']) * c_moika +
                    float(values['-RASHOD_SR-']) * float(c_toplivo) * 30 +
                    float(values['-MASLO-']) * float(c_maslo)
                    , 2)
            window['-OUTPUT-'].update(
                'Фильтры: ' + str(round(float(values['-FILTRY-']) * c_filtry, 2)) + ' ₽' + '\n' +
                'Балансировка: ' + str(round(float(values['-BALANS-']) * c_balans, 2)) + ' ₽' + '\n' +
                'Мойка: ' + str(round(float(values['-MOIKA-']) * c_moika, 2)) + ' ₽' + '\n' +
                'Расход ' + str(values['-TOPLIVO-']) + ': ' + str(
                    round(float(values['-RASHOD_SR-']) * float(c_toplivo) * 30, 2)) + ' ₽' + '\n' +
                'Масло (литров): ' + str(round(float(values['-MASLO-']) * c_maslo, 2)) + ' ₽\n\n' +
                'Стоимость ТО авто: ' + str(summa) + ' ₽'
            )

window.close()

Ответы (0 шт):