Генератор Случайных Теме


Я написал модуль Python, который случайным образом генерирует список идей, которые может быть использован в качестве помещения для дополнительная исследования. Например, было бы полезно в ситуациях, когда требуется новые темы диссертации, либо магистерской или докторской программе. Или если кто-то просто скучно со своей жизнью и хочет немного мозгового штурма идей о том, какого рода проект, который они хотели бы принять участие в, это модуль Python может быть использован.

Выходными данными является список случайных идей или технологий. Это до пользователей о том, как они интерпретируют выход. Каждая идея в списке могут быть оценены индивидуально, или идеи могут быть объединены таким образом, никогда не думал, прежде чем создать что-то новое.

Я хотел бы некоторые предложения о том, как еще я могу улучшить проект или что другие функции я могу добавить. Проект размещается на GitHub. Название проекта ranto из-за отсутствия лучшего название.

Для нетерпеливых, вот код из единственного файла Python в проект...

import random
import sys

def topics(f):
    f = open(f, 'r')
    wordlist = []

    for i in f:
        wordlist.append(i.strip())
    return wordlist

def mainp():
    wordlist = topics('../data/' + sys.argv[1])

    while True:
        print random.sample(wordlist, int(sys.argv[2]))
        if raw_input() == '':
            continue
        else:
            break   

mainp()

Если вы хотите проверить это, вы должны загрузить один из файлов данные из GitHub РЕПО связан ранее.

Любая обратная связь будет оценена.



732
5
задан 5 июля 2011 в 01:07 Источник Поделиться
Комментарии
1 ответ

Я не могу сказать из вашего вопроса, являетесь ли вы желая идеи улучшить этот код на Python или проекта. Ваш код выше работает и читается, так что принять после повторного написания его, как незначительные, что доставит некоторое неудобство.

def topics(f):
for i in open(f): # inline the call to open(), and drop the implicit 'r'.
yield i.strip() # "yield" turns this into a generator function that will only
# read as many lines of the file as are requested.

def mainp(): # consider renaming to something more descriptive (generate_topics?)
wordlist = topics('../data/' + sys.argv[1])
response = True # Or any "truthy" value that drops us into the while loop one time.
while response:
print random.sample(wordlist, int(sys.argv[2]))
response = raw_input()

if __name__ == "__main__": # Putting in this if guard allows you to import your
mainp() # functions above from anywhere else you might want them.

Вы можете захотеть проштудировать руководство для генератора функций.

2
ответ дан 7 июля 2011 в 06:07 Источник Поделиться