0 / 0 / 0
Регистрация: 13.06.2014
Сообщений: 5

Как связать две части кода?

15.06.2014, 11:31. Показов 2007. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дорогие друзья,

продолжаю мучения с моим кодом подсчета устойчивых словосочетаний в стихотворных строках.
Я кажется понял, как это должно выглядеть, да только не могу связать части кода.
Чтобы скрипт заработал, нужно соединить две части скрипта: а) мое начало и б) продолжение из другого кода, который искал результат по всему тексту. Заранее спасибо. Вот код:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import os
from math import log
 
"""Функции про логарифмы - для последующего подсчета устойчивости словосочетаний"""
 
def logL(p,k,n):
    if p == 0:
        return (n - k) * log(1 - p)
    elif p == 1:
        return k * log(p)
    else:
        return k * log(p) + (n - k) * log(1 - p)
 
def logLikehoodRatioBinormal(k1, n1, k2, n2):
    p1 = k1 / n1
    p2 = k2 / n2
    p = (k1 + k2) / (n1 + n2)
    return 2 * (logL(p1, k1, n1) + logL(p2, k2, n2) - logL(p, k1, n1) - logL(p, k2, n2))
 
"""Этот скрипт открывает текстовый файл и составляет список стихов"""
 
fileObj =  open('C:/Texts/Verses/1.txt', 'r+', encoding='utf-8')
verseList = fileObj.readlines()
 
words = []
 
A = {}
B = {}
AB = {}
N = 0
 
"""Нужно, чтобы каждый элемент в списке verseList по очереди становился списком words. Как-то так"""
 
for i in range(len(words) - 1):
    pair = words[i], words[i + 1]
    try:
        AB[pair] += 1
    except KeyError:
        AB[pair] = 1
    try:
        A[pair[0]] += 1
    except KeyError:
        A[pair[0]] = 1
    try:
        B[pair[1]] += 1
    except KeyError:
        B[pair[1]] = 1
    N += 1
 
 
raitings = []
for pair in AB:
    ab = AB[pair]
    anotb = A[pair[0]] - ab
    notab = B[pair[1]] - ab
    notanotb = N-A[pair[0]] - B[pair[1]] + ab
    raitings.append((pair, logLikehoodRatioBinormal(k1 = ab, n1 = ab + anotb, k2 = notab, n2 = notab + notanotb)))
 
raitings.sort(key = lambda x: x[1], reverse = True)
for el in raitings[:20]:
    print(el)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.06.2014, 11:31
Ответы с готовыми решениями:

Связать две табличные части в документе
Здравствуйте! Есть две табличные части в документе. 1. В первой табличной части открывается список студентов при изначальном выборе...

Совместить две части кода с++
Не могу сделать так чтобы по завершению этой программы: #include <iostream> #include <chrono> #include <thread> ...

Объединить две части кода в один
Ребят, ну помогите собрать в единое целое, чтоб заработало, очень прошу..( class Program { const int STUDENTS_QUANTITY =...

1
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
15.06.2014, 12:24
Я уж думал ты решил все
Ну да ладно, из прошлого раза я понял:
1. что нужно пробежаться по всем строкам и сделать пары слов
(Из строки Я вас любил, любовь еще, быть может, получается
[('Я', 'вас'), ('вас', 'любил'), ('любил', 'любовь'), ('любовь', 'еще'), ('еще', 'быть'), ('быть', 'может')])
2. В полученных из 1 строки пар найти одинаковые?
Все так?
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.06.2014, 12:24
Помогаю со студенческими работами здесь

Не работают совместно две правильные части кода
Сначала был код, который при наведении на меню добавлял цвет рамке элементам списка. Код работал хорошо. Ext.onReady(function() { var...

Как связать табличные части
Здраствуйте, есть документ в котором есть поле, в котором содержится 3 вида заявок на закупки, так вот дело в том что с документа я эти 3...

Как связать разные части приложения?
Добрый день! Я пишу приложение на C++. При старте оно создает 2 потока: -- в первом потоке (LoginScreen) идет основной цикл...

Как связать две таблицы
Добрый день! Помогите, пожалуйста, связать 2 таблице на главной форме. Чтобы при выборе данной из одной таблицы появлялись дополнительные...

Как связать две таблицы
Всем здравствуйте. Как сделать чтобы при выборе в listbox любого из районов к примеру, Добрушский см. рис 1, нам выдала все записи в гриде...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru