Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 22, 2007 12:58:39

slymit
От:
Зарегистрирован: 2007-12-22
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Python: программа для подсчёта колличества слов в строке.

Имеется такая задача: пользователю предлагается ввести несколько строк. После их ввода программа считает колличество слов в первой строке и выводит это число на экран, затем во второй строке, в третей и т.д. Пустой строке соответствует 0.
Помогите пожалуйста решить эту задачу.



Офлайн

#2 Дек. 22, 2007 14:14:39

tabajara
От:
Зарегистрирован: 2007-01-02
Сообщения: 148
Репутация: +  0  -
Профиль   Отправить e-mail  

Python: программа для подсчёта колличества слов в строке.

from pprint import pprint
input_words = lambda x, y = []: x and \
              (y.append(raw_input()) or True) and \
              input_words(x - 1, y) or y
get_len = lambda x: len(filter(lambda y: y.strip(), x.split(' ')))
[pprint(get_len(s)) for s in input_words(3)]



Отредактировано (Дек. 22, 2007 14:17:47)

Офлайн

#3 Дек. 22, 2007 14:55:41

slymit
От:
Зарегистрирован: 2007-12-22
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Python: программа для подсчёта колличества слов в строке.

Огромное спасибо за решение программы. А как переделать её так, чтобы строки она брала из текстового файла(т.е. открывала обычный текстовой файл и брала строки из него), а затем число слов в строке записывала в другой файл.



Отредактировано (Дек. 22, 2007 15:06:28)

Офлайн

#4 Дек. 22, 2007 15:13:56

tabajara
От:
Зарегистрирован: 2007-01-02
Сообщения: 148
Репутация: +  0  -
Профиль   Отправить e-mail  

Python: программа для подсчёта колличества слов в строке.

[__import__("pprint").pprint(len(filter(lambda y: y.strip(), s.split(" ")))) for s in __import__("sys").stdin]
[code][code]
in Windows:
    q.py < my_strings.txt > result.txt[/code]



Отредактировано (Дек. 22, 2007 15:23:34)

Офлайн

#5 Дек. 22, 2007 15:43:16

slymit
От:
Зарегистрирован: 2007-12-22
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Python: программа для подсчёта колличества слов в строке.

Я сам новичок в питоне, поэтому наверно делаю что-то не так. Программа не хочет запускаться. Вот полностью задача, которую мне надо решить: даны два файла (в первом файле написан текст, второй файл пустой). Программа открывает первый файл, считает колличество слов в первой строке и записывает это колличество во второй файл. Затем то же самое делает со второй строй, с третей, четвёртой и так до конца текста(т.е. до той строки на которой текст в первом файле заканчивается). Помогите пожалуйста её решить. Напишите полный код программы, если не трудно.



Офлайн

#6 Дек. 22, 2007 15:50:36

tabajara
От:
Зарегистрирован: 2007-01-02
Сообщения: 148
Репутация: +  0  -
Профиль   Отправить e-mail  

Python: программа для подсчёта колличества слов в строке.

це і є повний код програми. запускати тра з консолі - зайти в папку з тим скриптом командою cd. i там написати: імя_програми.py < імя_файлу_з_стрічками.txt > імя_файлу_куда_потрібно_вивести_результат.txt



Офлайн

#7 Дек. 22, 2007 15:56:52

slymit
От:
Зарегистрирован: 2007-12-22
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Python: программа для подсчёта колличества слов в строке.

а можно сделать так чтоб файл открывался программой, т.е. функцией open.



Офлайн

#8 Дек. 22, 2007 15:59:53

tabajara
От:
Зарегистрирован: 2007-01-02
Сообщения: 148
Репутация: +  0  -
Профиль   Отправить e-mail  

Python: программа для подсчёта колличества слов в строке.

можна :)



Отредактировано (Дек. 22, 2007 16:00:47)

Офлайн

#9 Дек. 22, 2007 16:02:00

slymit
От:
Зарегистрирован: 2007-12-22
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Python: программа для подсчёта колличества слов в строке.

=) А как?



Офлайн

#10 Дек. 22, 2007 16:10:22

tabajara
От:
Зарегистрирован: 2007-01-02
Сообщения: 148
Репутация: +  0  -
Профиль   Отправить e-mail  

Python: программа для подсчёта колличества слов в строке.

out = file("result.txt", "w")
out.write("\n".join(map(str,[len(filter(lambda y: y.strip(), s.split(" "))) for s in open("my_strings.txt")])))
out.close()



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version