Загрузка...

The function must return a new value from the list

Thread in Python created by Kyber_Zero Apr 22, 2020. 133 views

  1. Kyber_Zero
    Kyber_Zero Topic starter Apr 22, 2020 Dead Inside 5 Jan 21, 2018
    Есть функция some_f() и в ней список
    lst = ['left', 'right', 'up']
    Я хочу сделать функцию которая будет возвращать значение из списка и каждый раз оно будет новым и идти по порядку т.е
    1. some_f() => 'left'
    2. some_f() => 'right'
    3. some_f() => 'up'
    4. some_f() => 'left'
    Как это можно сделать или есть вариант проще?
     
  2. oriole
    oriole Apr 22, 2020 был(а) давно
    Code
    lst = ['left', 'right', 'up']

    class MyClass:
    i = 0
    def func(self):
    self.i += 1
    return lst[self.i % len(lst)-1]


    a = MyClass()
    print(a.func())
    print(a.func())
    print(a.func())
    print(a.func())
    print(a.func())
    print(a.func())
    вывод
    Code
    left
    right
    up
    left
    right
    up
    >>>
     
  3. Kyber_Zero
    Kyber_Zero Topic starter Apr 22, 2020 Dead Inside 5 Jan 21, 2018
    Спасибо :*
     
  4. SvetoCopy
    *напоминаю о существовании библиотеки collection*
     
  5. MozambiQQ
    Сделай не список, а засунь это в set()
     
Top
Loading...