Ирина обнови решението на 29.03.2015 19:53 (преди над 9 години)
+def fibonacci():
+ a = 1
+ b = 1
+
+ while True:
+ yield a
+ a, b = b, a + b
+
+
+def primes():
+ i = 2
+
+ while True:
+ j = 2
+ while j < i:
+ if i % j == 0:
+ i += 1
+ break
+ j += 1
+ else:
+ yield i
+ i += 1
+
+
+def alphabet(code='', letters=''):
+ latin = 'abcdefghijklmnopqrstuvwxyz'
+ bg = 'абвгдежзийклмнопстуфхцчшщъьюя'
+
+ if letters != '':
+ for char in letters:
+ yield char
+ else:
+ if code == 'lat':
+ for char in latin:
+ yield char
+ else:
+ for char in bg:
+ yield char
+
+
+def intertwined_sequences(things):
+ fib = fibonacci()
+ prime = primes()
+ what_to_do = {'fibonacci': fib, 'primes': prime}
+
+ for thing in things:
+ if thing['sequence'] in what_to_do:
+ for times in range(thing['length']):
+ yield next(what_to_do[thing['sequence']])
+ elif thing['sequence'] == 'alphabet':
+ if 'letters' in thing:
+ alpha = alphabet(letters=thing['letters'])
+ for times in range(thing['length']):
+ yield next(alpha)
+ elif 'code' in thing:
+ alpha = alphabet(code=thing['code'])
+ for times in range(thing['length']):
+ yield next(alpha)
- Инстанцираш ново итеруемо всеки път, вместо да продължаваш да използваш вече създаденото.
- Имаш липсваща буква в българксата азбука :)