Есть такая задача:
Вы сделали для заказчика структуру сайта по продаже телефонов:
Заказчик рассказал своим коллегам на рынке, и они тоже захотели такой сайт, только для своих товаров. Вы посчитали, что это лёгкая задача, и быстро принялись за работу.
Напишите программу, которая запрашивает у клиента, сколько будет сайтов, а затем запрашивает название продукта и после каждого запроса выводит на экран активные сайты.
Условия: структуру сайта нужно описать один раз, копипасту никто не любит.
Подсказка: используйте рекурсию.
Я сделал вот так:
В результате мне написали, что:
Вы сейчас заменяете заранее заданные теги
а что если сайт будет чуть другой? что если названия будут другие у тегов? придётся переписывать весь код
вот я и предлагаю - давайте попробуем написать функцию, которая получает на вход словарь, тег, новое значение
эта функция должна будет рекурсивно перебирать все элементы словаря, искать ключ, который равен тегу и заменять по этому тегу значение на новое
На данный момент у меня пака ничего не получается. Прошу помощи у сообщества в решении данной задачи!
Вы сделали для заказчика структуру сайта по продаже телефонов:
Заказчик рассказал своим коллегам на рынке, и они тоже захотели такой сайт, только для своих товаров. Вы посчитали, что это лёгкая задача, и быстро принялись за работу.
Напишите программу, которая запрашивает у клиента, сколько будет сайтов, а затем запрашивает название продукта и после каждого запроса выводит на экран активные сайты.
Условия: структуру сайта нужно описать один раз, копипасту никто не любит.
Подсказка: используйте рекурсию.
Я сделал вот так:
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)
В результате мне написали, что:
Вы сейчас заменяете заранее заданные теги
а что если сайт будет чуть другой? что если названия будут другие у тегов? придётся переписывать весь код
вот я и предлагаю - давайте попробуем написать функцию, которая получает на вход словарь, тег, новое значение
эта функция должна будет рекурсивно перебирать все элементы словаря, искать ключ, который равен тегу и заменять по этому тегу значение на новое
На данный момент у меня пака ничего не получается. Прошу помощи у сообщества в решении данной задачи!
Вложения
Последнее редактирование: