Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import wikipedia
- # Проверка существования языка
- def language(lang):
- try:
- s = wikipedia.languages()[lang]
- wikipedia.set_lang(lang)
- return True
- except:
- return False
- # функция проверки существования страницы
- def is_page_valid(page):
- try:
- wikipedia.page(page)
- except Exception:
- return False
- return True
- # Максимальное количество слов в кр. содержании страницы
- def max_words(first):
- kol_max = 0
- name_max = None
- for i in range(len(first)):
- if is_page_valid(first[i]):
- name = wikipedia.page(first[i])
- kl = len(name.summary.split())
- if kl >= kol_max:
- kol_max = kl
- name_max = name.title
- return [kol_max, name_max]
- # Подзадача №3
- def chain_of(first):
- the_end = [first[0]]
- for i in range(len(first) - 1):
- now = first[i]
- next1 = first[i + 1]
- if is_page_valid(now):
- links_now1 = wikipedia.page(now).links
- if next1 in links_now1:
- the_end.append(next1)
- continue
- else:
- for k in links_now1:
- links_j = wikipedia.page(k).links
- if next1 in links_j:
- the_end.append(k)
- the_end.append(next1)
- break
- return the_end
- # list страниц без пробелов
- first = input().split(',')
- for i in range((len(first))):
- first[i] = first[i].strip()
- while True:
- if not (language(first[-1])):
- print("no results")
- break
- else:
- del first[-1]
- kl_max = max_words(first)[0]
- name_of_max = max_words(first)[1]
- print(kl_max, name_of_max)
- the_end = chain_of(first)
- print(the_end)
- break
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement