Форум сайта python.su
0
Функция принимает два параметра - название .dat файла и некое значение которое потом используется как идентификатор.
Из .dat файла подтягиваются пять списков. В каждом списке, одна из последовательностей - значение (допустим 1, 2, 3, 4, 5) которое должно сравниваться с параметром который приняла функция.
Вопрос, можно ли сделать так, что бы функция, “прочитав” все списки и увидев нужный идентификатор только в одном, начала работать именно с этим списком ?
Естественно вариант с перечислением внутри функции какой идентификатор к какой строке принадлежит не подходит, он конечно рабочий, но хотелось бы узнать, есть ли ещё способы.
Офлайн
568
как вы понимаете слово “идентификатор”?
Вообще, покажите пример входных данных, содержимого файла и результата.
Офлайн
0
FishHookИдентифика́тор — уникальный признак объекта, позволяющий отличать его от других объектов (wiki)
как вы понимаете слово “идентификатор”?
FishHookПример входных данных - (“file.dat”, “1”)
Вообще, покажите пример входных данных, содержимого файла и результата.
Отредактировано Tucha (Сен. 14, 2015 19:28:16)
Офлайн
88
Покажите свой вариант с перечислением в блоке функции.
Офлайн
0
def game(category, cost): """Выбирает и задаёт вопрос исходя из принятого файла и стоимости. Возвращает кол-во выигранных баллов""" questions = open(category, "rb") ten = pickle.load(questions) twenty = pickle.load(questions) if str(cost) in ten: print("1") elif str(cost) in twenty: print("2")
Офлайн
88
def game(category, cost): """Выбирает и задаёт вопрос исходя из принятого файла и стоимости. Возвращает кол-во выигранных баллов""" with open(category, "rb") as questions: all_lists = [pickle.load(questions), pickle.load(questions)] for i, v in enumerate(all_lists, 1): if str(cost) in v: print(i) break
Отредактировано Shaman (Сен. 14, 2015 21:45:38)
Офлайн
0
Спасибо, я примерно так и представлял.
Ещё задам тут вопрос, что бы новую тему не создавать.
Я как новичок, постоянно сталкиваюсь с проблемой такого плана, когда могу казалось бы грамотно составить, на том же псевдокоде, представление функции, но мешает слабое знание операторов, что бы перенести это в рабочий код.
Иногда я решаю это с помощью чтения документации встроенной в IDLE, иногда гуглю, иногда приходиться спрашивать на форумах и решение всегда находится, НО на это уходит куча времени.
Можете, что то посоветовать, что ускорит процесс поиска правильного оператора, функции и т.д.? Может есть какие то сводные таблицы или шпаргалки ?
Или же знание такого рода прямо пропорционально опыту ?
Офлайн
857
Tuchahttps://docs.python.org
Может есть какие то сводные таблицы или шпаргалки ?
Отредактировано py.user.next (Сен. 15, 2015 01:27:03)
Офлайн
568
TuchaТак, как это написано второй строкой в той же статье на вики, которую вы процитировали
Его как то ещё можно понимать в программировании ?
лексический токен, который определяет сущность. Это аналогично концепции «имя». Идентификаторы активно используются практически во всех информационных системах. Именование сущностей делает возможным ссылки на них, которые могут использоваться позже.
Офлайн