Форум сайта python.su
Нужно написать программу, которая будет гадать по по номеру страницы, строки и слова в тексте. Должна производить следущие действия:
1. Открыть для чтения в текстовом режиме файл, находящийся в директории (уже готов).
2. Вывести на экран количество страниц в тексте и запросить у пользователя номер страницы, строки и слова при помощи input().
3. Вывести на экран получившееся слово и спросить, хочет ли пользователь повторить гадание.
При этом в условии сказано, что на странице помещается 40 строк по 50 символов в каждой. Предположим, что пользователь ввел x, y, z. Тогда нужная страница будет представлять собой подинтервал в тексте вида . Соответственно, строка будет подинтерваом внутри страницы вида. Разделите строку на слова и выдайте слово с z.
Заранее спасибо!
Офлайн
Отлично. Что Вы уже наваяли?
Офлайн
Пока ничего(
Офлайн
Тогда ждемс
Офлайн
Вот только самое начало, что мне удалось
Прикреплённый файлы:
Zadacha5.py (210 байт)
Офлайн
Прошу прощения, в условии обнаружилась ошибка. Следует читать вот так:
“Нужно написать программу, которая будет гадать по по номеру страницы, строки и слова в тексте. Должна производить следущие действия:
1. Открыть для чтения в текстовом режиме файл, находящийся в директории (уже готов).
2. Вывести на экран количество страниц в тексте и запросить у пользователя номер страницы, строки и слова при помощи input().
3. Вывести на экран получившееся слово и спросить, хочет ли пользователь повторить гадание.
При этом в условии сказано, что на странице помещается 40 строк по 50 символов в каждой. Предположим, что пользователь ввел x, y, z. Тогда нужная страница будет представлять собой подинтервал в тексте вида . Соответственно, строка будет подинтерваом внутри страницы вида. Разделите строку на слова и выдайте слово с z.
При этом в условии сказано, что на странице помещается 40 строк по 50 символов в каждой. Предположим, что пользователь ввел x, y, z. Тогда нужная страница будет представлять собой подинтервал в тексте вида (40*50*(х-1):40*50*х). Соответственно, строка будет подинтерваом внутри страницы вида (50*(х-1):50*х.) Разделите строку на слова и выдайте слово с z”.
Офлайн
BlackRabbit
python 3 ?
Офлайн
Да, Python 3
Офлайн
Наваял вот такой скрипт, прошу, проверьте… есть ошибки
Прикреплённый файлы:
Zadacha5.py (210 байт)
Офлайн
я тут быстренько набросал на питоне 2.7
#!/usr/bin/env python row = 50 page = row * 40 choice = 'yes' textfile = open('text.txt', 'r') text = textfile.read() textfile.close() pages = (len(text)-1)/page + 1 print 'Text contains %d pages' %pages while choice == 'yes': fortune_telling = raw_input('Enter page number, row number and word number separated by commas: ') input_list = fortune_telling.split(',') numbers = [int(x.strip()) for x in input_list] required_page = text[page*(numbers[0]-1):page*numbers[0]] required_row = required_page[row*(numbers[1]-1):row*numbers[1]] required_word = required_row.split() print required_word[numbers[2]-1] choice = raw_input('Do you want to repeat? yes or no: ')
Отредактировано TroSer (Янв. 15, 2014 23:57:48)
Офлайн