پرسش خود را بپرسید
١٦,٠٠٠ تومان پاداش این پرسش تعلق گرفت به

خروجی این کد پایتون چی میشه ؟

تاریخ
٥ ماه پیش
بازدید
٤٠٢


data = [[[1, 2], [3, 4]], [[5, 6], [7, 8]]]
def fun(m):

                                     v = m[0][0]

                                                            for row in m:
                                                                                    for element in row:
                                                                                                           if v < element: v = element

                                     return v
print(fun(data[0]))

١,٧٨٢
طلایی
٠
نقره‌ای
٢
برنزی
٨٠

٨ پاسخ

مرتب سازی بر اساس:
  1. این کد پایتون یک عملکرد با نام "fun" تعریف می‌کند که به عنوان ورودی یک ماتریس دوبعدی می‌گیرد و بزرگترین عنصر را در آن ماتریس پیدا می‌کند و آن را برمی‌گرداند. سپس این تابع روی اولین زیرلیست داده‌ها (data[0]) فراخوانی می‌شود.
  2. با توجه به داده‌های ورودی، این کد بررسی می‌کند که در زیرلیست اول اعضایی مانند [1, 2] و [3, 4] وجود دارد و بزرگترین عضو از این لیست‌ها کدام یک است. سپس این بزرگترین مقدار (در این مورد 4) به عنوان خروجی چاپ می‌شود.
  3. بنابراین، خروجی این کد برای ورودی data[0] برابر با 4 خواهد بود.
٣٢٦
طلایی
٠
نقره‌ای
٤
برنزی
١
تاریخ
٥ ماه پیش

In your code

data = [[[1, 2], [3, 4]], [[5, 6], [7, 8]]]

subsequently data[0], that is passed to the function as m, is

[[1, 2], [3, 4]]

then

v = m[0][0]

is

1

Then your loop

for row in m:

for element in row:

if v < element: v = element

Here you're iterating over [[1, 2], [3, 4]] , and then over each element in nested list [1, 2] and then [3, 4], and trying to compare each number in the list to 1, so v becomes 2, then 3 and then 4, so upon the code prints

4

٤٣١
طلایی
٠
نقره‌ای
٥
برنزی
٢
تاریخ
٥ ماه پیش

 هدف  پیدا کردن بزرگترین مقدار در اولین زیرلیست 2 بعدی در یک لیست 3 بعدی است.

1) متغیر data یک لیست 3 بعدی است، یعنی یک لیست از لیست‌های 2 بعدی (هر لیست 2 بعدی یک زیرلیست در لیست 3 بعدی است).

2) تابع fun(m) تعریف شده است، که یک لیست 2 بعدی m را به عنوان ورودی می‌گیرد.

3) درون تابع fun(m):

الف - مقدار اولیه v برابر با اولین عنصر اولین زیرلیست m تنظیم می‌شود، که برابر با 1 است.
ب - سپس تابع از هر سطر (زیرلیست) در m و هر عنصر در آن سطر عبور می‌کند.
ج - برای هر عنصر، آن بررسی می‌کند که آیا مقدار v کمتر از این عنصر است. اگر چنین بود، v را به مقدار این عنصر به‌روز می‌کند.
د _ در نهایت، تابع بزرگترین مقدار را که در v ذخیره شده است بازمی‌گرداند.
 

4) سپس کد fun(data[0]) را فراخوانی می‌کند، که به این معنی است که اولین لیست 2 بعدی [[1, 2], [3, 4]] از متغیر data را به تابع fun(m) ارسال می‌کند.

5) همونطور که گفتم  خروجی این کد 4 خواهد بود که بزرگترین مقدار در اولین لیست 2 بعدی [[1, 2], [3, 4]] است.

تاریخ
٥ ماه پیش

خیر خروجی 4 هست . دوست 

تاریخ
٥ ماه پیش

در نهایت عدد ۴ چاپ می‌شود.

تاریخ
٥ ماه پیش

پاسخ این است که خروجی کد پایتون بالا عدد ۲ است.

علت این است که :

۱. функسیون fun یک ماتریس ۲ بعدی به عنوان ورودی دریافت می کند.

 ۲. در ابتدا، v را با اولین عنصر اولین ردیف، که برابر با ۱ است، درپژشتن می دهد.

 ۳. سپس، روی هر ردیف ماتریس و هر عنصر در ردیف آن_iterates می شود. 

۴. اگر مقدار فعلی v کمتر از عنصر فعلی باشد، آن را به عنوان عنصر فعلی درپژشتن می دهد. 

۵. در این حالت، چون ۱ کمتر از ۲ است، v به ۲ تغییر می دهد.

 ۶. چون هیچ عنصری برای مقایسه باقی نمانده است، فونشن return ۲ را بازگردانده است.

پس وقتی print(fun(data[0])) را صدا می زنی، عدد ۲ را چاپ می کند.

٤١٥,٠٩٦
طلایی
٣٣٥
نقره‌ای
٤,٦٥٤
برنزی
٢,٨٤٥
تاریخ
٥ ماه پیش

2

در حرکت اول  مقدار v رو برابر با مقدار المان اول از المان اول لیست قرار میده. در نهایت با 2  حلقه ی لوپ روی المان های لیست اصلی و یکی هم روی هر المان لیست دوم یک شرط رو چک میکنه. در نهایت 2 رو return میکنه! 

٨٨
طلایی
٠
نقره‌ای
١
برنزی
١
تاریخ
٥ ماه پیش

خروجی این کد پایتون 8 خواهد بود.

توضیح کد:
  1. مقادیر:
    • ‍data یک لیست از دو لیست دیگر است که هر کدام شامل دو عدد می باشد.
    • ‍fun یک تابع است که یک لیست از لیست ها را به عنوان ورودی (m) دریافت می کند.
  2. عملکرد تابع fun:
    • متغیر v به اولین عنصر اولین لیست در m (یعنی 1) اختصاص داده می شود.
    • سپس، یک حلقه for روی تمام لیست های m و سپس روی تمام عناصر هر لیست پیمایش می کند.
    • در داخل حلقه for، اگر عنصری بزرگتر از v باشد، v به آن عنصر تغییر می یابد.
    • در نهایت، تابع v را که در حال حاضر بزرگترین عنصر در تمام لیست های تو در m است، برمی گرداند.
  3. چاپ خروجی:
    • کد print(fun(data[0])) تابع fun را با اولین لیست از data (یعنی [1, 2]) فراخوانی می کند.
    • تابع fun بزرگترین عنصر در [1, 2] را پیدا می کند که 2 است.
    • بنابراین، print عدد 8 را چاپ می کند.
٧٨,٧٠٧
طلایی
١١٦
نقره‌ای
٧٩٧
برنزی
١,٠٤٦
تاریخ
٥ ماه پیش

پاسخ شما