Найти - Пользователи
Полная версия: Помогите plz сделать лабу вообще не понимаю((
Начало » Python для новичков » Помогите plz сделать лабу вообще не понимаю((
1
hosumutas
Вообщем суть такая сделал я половину задания с горем по полам вообще плохо понимаю, занятия у нас дистанционные поэтому не очень хорошо вникаю в предмет. Буду благодарен за решения лабы или помощи с объяснениями. Лабу я прекрипляю.
FishHook
То что ты прикрепил - исполняемый файл питона. Т.е. насколько я понимаю, это уже некое решение. А где же само задание?
hosumutas
Там задание в файле верху красным написано.
sergeek
2. Создайте функцию, которая рассчитывает минимальную цену принтера (МФУ) заданного произодителя. Сохраните эти данные в словарь, где ключом будет название произодителя. Выведите содердимое словаря на экран в порядке позрастания минимальной цены.
Находим минимальную цену принтера заданного производителя, записываем(цену?) в словарь, а что сортировать там, если в нем одно значение?
hosumutas
Рад бы это сделать но не понимаю.( Буду благодарен если расскажите как это сделать.
sergeek
sergeek
hosumutas
Рад бы это сделать но не понимаю.( Буду благодарен если расскажите как это сделать.
да я про то что условие задачи неверное какой смысл сортировать словарь из одного элемента
может надо так:
Создайте функцию, которая рассчитывает минимальную цену принтера (МФУ) заданного всех произодителей.
уточните у того, кто дал вам это задание
hosumutas
sergeek
Не все так и надо) Я видел другие делали типа получается выводит на экран (Хотите увидеть минимальную цену на принтер samsung например и он выводит)
sergeek
_parsed = []
_min_dict = {}
def _parse_source_data():
    for cell in source_data:
        splitted = cell.split('\t')
        vendor = splitted[1].split()[0]
        price = float(splitted[3].replace(',','.').replace(' ',''))
        name = splitted[4]
        if name.startswith("Многофункциональное") or name.startswith('МФУ'):
            _parsed.append((vendor, price, name))
def get_printer_price(vendor):
    price_list = [(vendor_, price, name) for vendor_, price, name in _parsed if vendor == vendor_.lower()]
    for vendor, price, name in sorted(price_list ,key=lambda tp:tp[1]):
        print('{} | price {}'.format(name,price))
def get_min_price(vendor):
    if not _min_dict.get(vendor):
        try:
            _min_dict[vendor] = min([price for vendor_, price, name in _parsed if vendor_.lower() == vendor])
        except ValueError:
            print('net takogo')
    for vendor, price in sorted([(key, _min_dict[key]) for key in _min_dict]):
        print('min price of {} is {}'.format(vendor,price))
interact = {'1':get_printer_price,
            '2':get_min_price}
def main():
    _parse_source_data()
    while True:
        select = input('4to nado?\n1: get pricelist of selected vendor\n2: get min price of selected vendor\n>>')
        try:
            interact[select](input('vendor?').lower())
        except KeyError:
            print('1 ili 2')
if __name__ == '__main__':
    main()
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB