Есть такая задача:
Вы сделали для заказчика структуру сайта по продаже телефонов:
Заказчик рассказал своим коллегам на рынке, и они тоже захотели такой сайт, только для своих товаров. Вы посчитали, что это лёгкая задача, и быстро принялись за работу.
Напишите программу, которая запрашивает у клиента, сколько будет сайтов, а затем запрашивает название продукта и после каждого запроса выводит на экран активные сайты.
Условия: структуру сайта нужно описать один раз, копипасту никто не любит.
Подсказка: используйте рекурсию.
Я сделал вот так:
	
	
	
		
В результате мне написали, что:
Вы сейчас заменяете заранее заданные теги
а что если сайт будет чуть другой? что если названия будут другие у тегов? придётся переписывать весь код
вот я и предлагаю - давайте попробуем написать функцию, которая получает на вход словарь, тег, новое значение
эта функция должна будет рекурсивно перебирать все элементы словаря, искать ключ, который равен тегу и заменять по этому тегу значение на новое
На данный момент у меня пака ничего не получается. Прошу помощи у сообщества в решении данной задачи!
			
			Вы сделали для заказчика структуру сайта по продаже телефонов:
Заказчик рассказал своим коллегам на рынке, и они тоже захотели такой сайт, только для своих товаров. Вы посчитали, что это лёгкая задача, и быстро принялись за работу.
Напишите программу, которая запрашивает у клиента, сколько будет сайтов, а затем запрашивает название продукта и после каждого запроса выводит на экран активные сайты.
Условия: структуру сайта нужно описать один раз, копипасту никто не любит.
Подсказка: используйте рекурсию.
Я сделал вот так:
		Python:
	
	import copy
site = {
    'html': {
        'head': {
            'title': 'Куплю/продам телефон недорого'
        },
        'body': {
            'h2': 'У нас самая низкая цена на iphone',
            'div': 'Купить',
            'p': 'продать'
        }
    }
}
def func_all(site):
    for _ in range(question):
        product = input('Введите название продукта для нового сайта: ').lower()
        print(f'Сайт для {product}:')
        site_copy = copy.deepcopy(site)
        site_copy['html']['head']['title'] = f'Куплю/продам {product} недорого'
        site_copy['html']['body']['h2'] = f'У нас самая низкая цена на {product}'
        func(site_copy)
def func(s, depth=0):
    for i in s:
        print(' ' * depth, i)
        if isinstance(s[i], dict):
            func(s[i], depth + 1)
        else:
            print(' ' * (depth + 1), ' '.join(s[i]))
question = int(input('\nСколько будет сайтов: '))
func_all(site)В результате мне написали, что:
Вы сейчас заменяете заранее заданные теги
а что если сайт будет чуть другой? что если названия будут другие у тегов? придётся переписывать весь код
вот я и предлагаю - давайте попробуем написать функцию, которая получает на вход словарь, тег, новое значение
эта функция должна будет рекурсивно перебирать все элементы словаря, искать ключ, который равен тегу и заменять по этому тегу значение на новое
На данный момент у меня пака ничего не получается. Прошу помощи у сообщества в решении данной задачи!
Вложения
			
				Последнее редактирование: 
				
		
	
										
										
											
	
										
									
								 
				
		