Уведомления

Группа в Telegram: @pythonsu

#1 Март 14, 2016 20:52:55

djangoo
Зарегистрирован: 2016-03-14
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Задача с txt файлами

Всем привет! Нужна помощь в решении задачи.
Решение как можно проще и, если можно, не в одну строку! Заранее спасибо!!

Вам нужно написать программу, порождающую случайные грамматически правильные, но бессмысленные тексты. Слова для текстов должны быть взяты из отдельных txt-файлов, открываемых программой. Эти файлы следует прислать вместе с кодом выполненного домашнего задания. При написании кода старайтесь активнее использовать возможность создания функций, желательно в функции уложить вообще весь код.
Текст должен состоять из 5 предложений разных типов (утвердительные, вопросительные, отрицательные, условные, побудительные) на изучаемом вами языке (французский). Типы предложений должны выводиться в случайном порядке.

Офлайн

#2 Март 23, 2016 04:08:08

Kir@
Зарегистрирован: 2015-08-13
Сообщения: 124
Репутация: +  0  -
Профиль   Отправить e-mail  

Задача с txt файлами

Во французском, извините, не силен

import random
utverdit = random.choice([line for line in open('1.txt', 'r')]) [:-1]
vopros = random.choice([line for line in open('2.txt', 'r')]) [:-1]
otricanie = random.choice([line for line in open('3.txt', 'r')]) [:-1]
uslovie = random.choice([line for line in open('4.txt', 'r')]) [:-1]
pobudit = random.choice([line for line in open('5.txt', 'r')]) [:-1]
print (utverdit + " " + vopros + " " + otricanie + " " + uslovie + " " + pobudit)

Прикреплённый файлы:
attachment Сборка предложений.zip (779 байт)

Офлайн

#3 Март 23, 2016 08:52:18

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2592
Репутация: +  61  -
Профиль   Отправить e-mail  

Задача с txt файлами

Ну можно и красивее же

# -*- coding: utf-8 -*-
import os
import random
# Firts, get all TXT file list from current dir
file_list = []
for file_name in os.listdir(os.getcwd()):
    if file_name.endswith(".txt"):
        file_list.append(file_name)
# Next choise random string from every file
result = ''
for file in file_list:
    result += random.choice([line for line in open(file, 'r')])[:-1] + ' '
print result



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#4 Март 23, 2016 09:11:17

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Задача с txt файлами

ZerG
for file_name in os.listdir(os.getcwd()):
if file_name.endswith(“.txt”):
file_list.append(file_name)
Семён Семёныч!
file_list = [f for f in os.listdir(os.getcwd()) if f.endswith(".txt")]



Офлайн

#5 Март 23, 2016 09:26:01

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2592
Репутация: +  61  -
Профиль   Отправить e-mail  

Задача с txt файлами

Нууууу
Я же так что бы логика прослеживалась.
Что бы понятно было тому кто спрашивал



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#6 Март 23, 2016 11:21:10

Kir@
Зарегистрирован: 2015-08-13
Сообщения: 124
Репутация: +  0  -
Профиль   Отправить e-mail  

Задача с txt файлами

ZerG
Ну можно и красивее же
Хыы, работает
да1 Чё2? нет3 если4 пошёл4!

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version