سوال شماره 4737
چندگزینهای
آزمون رایگان پایتون فنی و حرفه ای
کدام یک از عبارات زیر به درستی مفهوم 'List Comprehension' را در پایتون نشان میدهد و لیستی از مربع اعداد زوج بین 1 تا 10 ایجاد میکند؟
گزینهها:
- 1. (x**2 for x in range(1,11) where x%2==0)
- 2. [for x in range(1,11): x**2 if x%2==0]
- 3. [x**2 for x in range(1,11) if x%2==0] ✓ صحیح
- 4. [x*2 for x in range(1,11)]
پاسخ صحیح:
- [x**2 for x in range(1,11) if x%2==0]
توضیحات:
گزینه اول صحیح است زیرا سینتکس درست List Comprehension را دارد: [expression for item in iterable if condition]. این عبارت اعداد از 1 تا 10 را پیمایش کرده، فقط اعداد زرم (x%2==0) را انتخاب میکند و مربع هر یک (x**2) را محاسبه کرده و در لیست قرار میدهد. گزینه دوم فقط اعداد را دوبرابر میکند، گزینه سوم سینتکس نادرست دارد و گزینه چهارم از where استفاده کرده که در پایتون معتبر نیست.