[

среда, 7 декабря 2011 г.

Скрипт-лоттерея

Для чего его использовать - ваша воля. Мы же его использовали для распределения смен технической поддержки на НГ.


# coding: utf-8
import random
import readline


def get_random_workers():
    """Start lottery"""

    # Список людей
    people = []

    # Заполним список участников
    while 1 == 1:
        name = raw_input("Введите имя сотрудника (пустая строка для завершения): ")
        name = name.strip()
        if name == '':
            break
        people.append(name)

    # проверим, что участники введены
    if not people:
        print("Нет участников для нашей лоттереи :( жаль.")
        sys.exit()

    # Случайный выбор из списка
    print("\nА сейчас... победители!")
    print("Нажмите Enter для получения следующего \"счастливчика\" или q для завершения")
    while 1 == 1:
        s = raw_input()
        if s == 'q':
            break
        random.seed()
        print(random.choice(people))

    # конец
    print("\nДо встречи перед следующими праздниками!")

if __name__ == '__main__':
    get_random_workers()

Баги:

  1. raw_input() отказывается читать кирилицу, хотя везде все UTF-8. можно переопределить sys.stdin - экземпляр StreamReader.

Комментариев нет:

Отправить комментарий