1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Luyện tập câu hỏi phỏng vấn lập trình bằng Python

Connected

Bài tập

Generator comprehension

Bạn được cung cấp các hàm generator sau (bạn có thể thử chúng trong bảng điều khiển):

def func1(n):
  for i in range(0, n):
    yield i**2
def func2(n):
  for i in range(0, n):
     if i%2 == 0:
       yield 2*i
def func3(n, m):
  for i in func1(n):
    for j in func2(m):
      yield ((i, j), i + j)

Lưu ý rằng func3() sử dụng nội bộ func1() và func2().

Hướng dẫn 1/3

undefined XP
  • 1

    Viết lại func1() dưới dạng một generator comprehension với \(n\) = 10.

  • 2

    Viết lại func2() dưới dạng một generator comprehension với \(n\) = 20.

  • 3

    Viết lại func3() dưới dạng một generator comprehension với \(n\) = 8 và \(m\) = 10.