2014-02-20 2 views
-2

Мне нужно иметь возможность написать программу, которая берет файл, затем возвращает массив токенов, а затем цикл через массив, печатает каждый токен в каждой строке, а затем удаляет все знаки препинания и в нижнем регистре каждое слово, затем подсчитывает, сколько раз запрашиваемые слова встречаются по всему файлу. Проблема в том, что им не удалось вернуть массив, я не совсем уверен, как сделать массив, который позволяет пользователю вводить любое слово или столько слов, сколько он хочет, а затем искать в файле поиск файлов. .... ив провел 8 часов, и все это я в настоящее время:Массивы с петлями

import sys 
from scanner import * 


def main(): 
    tokens = readTokens("shakespeare.txt") 
    for i in range(0,len(tokens),1): 
     print(tokens[i]) 
def readTokens(fileName): 
    with open("shakespeare.txt", 'r') as f: 
     return f.read().split() 
    token = s.readtoken() 
    while (token != ""): 
     print(token) 
     token = s.readtoken() 

    s.close() 
main() 
+0

Что вы ожидаете от нас? Написать всю программу? –

+1

Вы хотите сказать: 'print (tokens [** i **])' вместо 1? –

+0

Да, это должно было быть «я», в то время, когда он действительно просматривал файл, и нет, я бы не хотел, чтобы кто-нибудь его написал, я просто не могу заставить его вернуть слова в виде массива – FootOfGork

ответ

0

Это, как вы читаете весь файл и разбить его на всех пространствах:

def readTokens(filename): 
    with open(filename, 'r') as f: 
     return f.read().split() 
+0

Я уже знаю, что я должен прочитать файл. Я просто не могу вернуть слова в виде массива из файла. – FootOfGork

+0

Это именно то, что он сделал, это: вернуть массив слов в файл ... – LucasB

+0

ладно спасибо, и через это я могу зацикливать массив правильный? – FootOfGork

1

Это StackOverflow так есть no, вы получите кого-нибудь, чтобы написать всю программу для вас ... Я возьму на себя ваш вопрос больше о как подойти к проблеме и вы работаете в питона

Разделяй и властвуй ваш друг

  1. Прочитайте строки файла: Here или Here
  2. Хранить строки в массив: Here или Here
  3. Цикл по каждому элементу в массиве: Here
  4. Проверьте, чтобы увидеть, если каждая строка содержит найдены пунктуации: Here
  5. Если он содержит знаки препинания, удалить его (я оставлю это один до вас)

Try выше и придумать более (ваш код в настоящее время выглядит так, будто вы все еще изучаете некоторые основные идеи программирования). После этого вы можете заглянуть в ускорение/удобочитаемость и т. Д. Это поможет сообществу лучше, если вы подробно расскажете о своих попытках.

+0

LOL Да, я определенно новичок, но эти шаги помогли мне найти правильный путь, спасибо – FootOfGork

+0

Рад, что это помогло :). Когда у вас есть код, который работает (или очень близко), вы можете искать похожие потоки головы до codereview для получения дополнительных трюков [пример, используя регулярные выражения, используя функциональность 'yield', чтобы сделать вещи короче и т. Д.]. Или еще лучше, отредактируйте этот вопрос с изменениями, внесенными вами для получения дополнительных указаний. –

Смежные вопросы