Как сделать так, что бы цена бензина зависела от выпадающего списка(АИ-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()