Тема: Поястіть мені код Python (dict)
Поясніть мені що робить цей код, бо в Пітоні я нічого не тямлю.
DIRECTORY_ENTRY = dict([(e[1], e[0]) for e in directory_entry_types]+directory_entry_types)
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → Python → Поястіть мені код Python (dict)
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися
Поясніть мені що робить цей код, бо в Пітоні я нічого не тямлю.
DIRECTORY_ENTRY = dict([(e[1], e[0]) for e in directory_entry_types]+directory_entry_types)
directory_entry_types - змінна (імовірно, список списків або кортежів).
Припускаючи, що це - Python 2.x:
[(e[1], e[0]) for e in directory_entry_types]
бере з кожного елемента (списку/кортежа) у directory_entry_types елементи з індексами 0 та 1, з яких формує окремі кортежі. Таким чином, формується новий список кортежів.
dict(ThePreviousListOfTuples+directory_entry_types)
формує словник зі списку кортежів, утвореного внаслідок злиття двох списків кортежів у дужках.
Усім доброї ночі!!!
Якщо неважко поясніть мені будь-ласка чому результат получається None?
a = 18
b = 30
def nod(a,b):
if max(a,b) % min(a,b) == 0:
return min(a,b)
else:
nod(min(a,b),max(a,b) % min(a,b))
print nod(a,b)
Цікаво ще те що якщо код перевірити на сайті http://www.pythontutor.com/ то там стрілки показують між рядків
Тому що else нічого не повертає, а при першому виклику одразу ж заходить в else.
А взагалі потрібно окрему тему створювати.
Я вже зрозумів потрібно було дописати return. Хоча на сайті було показано що програма не зразу виходить а проходить декілька разів, знаходить число, а повертає None.
не зразу виходить а проходить декілька разів, знаходить число, а повертає None
Так і є
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися