Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 10, 2014 23:37:59

Knep
Зарегистрирован: 2014-04-10
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Линейный поиск

Будьте добры, помогите решить мне одну задачу. Я написал код, который читает два txt-файла. Первый - словарь, второй - текст. Требуется сверить каждое слово из текста с словарем, вывести на экран все слова из текста, которых нет в словаре и их номера строк. Вот код без части поиска, в котором, возможно есть ошибки.

import re

def split_line(line):
return re.findall('+(?:\'+)?',line)

file = open(“dictionary.txt”)
dictionary_list =
for line in file:
line = line.strip()
dictionary_list.append(line)
file.close()

text = open(“AliceInWonderLand200.txt”)
for line in text:
line = line.strip()
split_line(line)
for word in line:
word = word.upper()

file.close()

P.S. Вот так нагляднее

Отредактировано Knep (Апрель 10, 2014 23:43:35)

Офлайн

#2 Апрель 11, 2014 06:49:37

ilnur
От: Казань
Зарегистрирован: 2009-01-06
Сообщения: 524
Репутация: +  22  -
Профиль   Отправить e-mail  

Линейный поиск

Knep
помогите решить мне одну задачу.
задача в чем?
вы написали код. а что дальше? вы не знаете как его запустить? от форумчан что требуется?

Офлайн

#3 Апрель 11, 2014 07:21:10

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Линейный поиск

ilnur
внимательно читайте сообщение:

Knep
Требуется сверить каждое слово из текста с словарем, вывести на экран все слова из текста, которых нет в словаре и их номера строк.
человек написал то что смог,а дальше просит помощи.



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#4 Апрель 11, 2014 09:39:39

ilnur
От: Казань
Зарегистрирован: 2009-01-06
Сообщения: 524
Репутация: +  22  -
Профиль   Отправить e-mail  

Линейный поиск

JOHN_16

написал. наверное же запустил? наверное что-то не так отработало же? тяжело написать что не так?

Офлайн

#5 Апрель 11, 2014 13:40:51

hhhhhhhh1
Зарегистрирован: 2014-04-10
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Линейный поиск

#-------------------------------------------------------------------------------
# Name:        модуль1
# Purpose:
#
# Author:      --------
#
# Created:     11.04.2014
# Copyright:   (c) -------- 2014
# Licence:     <your licence>
#-------------------------------------------------------------------------------
# -*- coding: utf-8 -*-
import re
bla = []
blabla = []
#открыли словарь
file = open("1.txt")
#инициализация списка
dictionary_list = []
d_list = []
#добавляем с список словаиз файла, разделитель пробел
for line in file:
    #line это строка, убрали пробел по краям
    line = line.strip()
    line = line.upper()
    #разделили строку на слова
    d_list=line.split()
    for xxx in d_list:
        dictionary_list.append(xxx)
        #На слова разбили
#print(dictionary_list)
file.close()
#открыли ДОКУМЕНТ
file_2 = open("2.txt")
#инициализация списка
dictionary_list_1 = []
dictionary_list_2 = []
d_list_1 = []
#добавляем с список словаиз файла, разделитель пробел
for line in file_2:
    #line это строка, убрали пробел по краям
    line = line.strip()
    line = line.upper()
    dictionary_list_2.append(line)
    #разделили строку на слова
    d_list_1=line.split()
    for xxx in d_list_1:
        dictionary_list_1.append(xxx)
        #На слова разбили
#print(dictionary_list_2)
file_2.close()
#Нашли слова не присутствующие в 1 списке
for x in dictionary_list:
    for y in dictionary_list_1:
        if x==y:
            dictionary_list_1.remove(y)
#print(dictionary_list_2)
cheker=0
#ищем вхождения
for stroka in dictionary_list_2:
    cheker+=1
    for slovo in dictionary_list_1:
        if slovo in stroka:
            bla.append(slovo)
            blabla.append(cheker)
            #print(slovo,cheker)
print(bla,blabla)

(Работает). Это моя первая программа на Python
Может кто подскажет, сохранил я этот скрипт (пишу в PyScripter), открыл заново, а вместо русских букв кракозябры.



Набираюсь опыта.

Отредактировано hhhhhhhh1 (Апрель 11, 2014 13:52:55)

Офлайн

#6 Апрель 11, 2014 16:45:26

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Линейный поиск

ilnur
вы кажется не совсем поняли, человек не знает как решить свою задачу. То что он написал это не то что он хотел получить в итоге т.е. считать слова из файлов он может, а как правильно сделать поиск не знает вот тут он и просит помощи.



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#7 Апрель 12, 2014 18:59:29

Alen
Зарегистрирован: 2013-08-01
Сообщения: 373
Репутация: +  49  -
Профиль   Отправить e-mail  

Линейный поиск

Knep
Будьте добры, помогите решить мне одну задачу. Я написал код, который читает два txt-файла. Первый - словарь, второй - текст. Требуется сверить каждое слово из текста с словарем, вывести на экран все слова из текста, которых нет в словаре и их номера строк.


#!/usr/bin/env python
#- * -coding:utf8 - * -
with open('dictionary.txt', 'r') as dict_file, open('text.txt', 'r') as text_file:
    dictionary = dict_file.read().replace('\n', ' ').lower()
    text = text_file.read().lower()
res = ({num + 1: word} for num, string in enumerate(
    text.split('\n')) for word in string.translate(None, '.,!?-+=0123456789').split() if not word in dictionary.split())
print("""
+------------------+------------------------------+
| Number of string |             Word             |
+------------------+------------------------------+""")
for i in res:
    print('|{!s:<18}|{!s:>30}|'.format(i.keys()[0], i.values()[0]))
    print("+------------------+------------------------------+")

Отредактировано Alen (Апрель 12, 2014 21:04:00)

Офлайн

#8 Апрель 14, 2014 20:12:08

Knep
Зарегистрирован: 2014-04-10
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Линейный поиск

Alen, большое спасибо!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version