Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

support: #34

Open
ahkazemi2007 opened this issue Sep 18, 2023 · 3 comments
Open

support: #34

ahkazemi2007 opened this issue Sep 18, 2023 · 3 comments

Comments

@ahkazemi2007
Copy link

Support Question

https://quera.org/problemset/33034/
چرا برای حل این سوال وقتی من کد اولی رو میدم ۰ میده ولی دومی ۱۰۰ میده (اگر صلاح دونستید میتونید کد دومم رو به کدهای حلیتون اضافه کنید :) )

def coloring(ls):
    alent = len(ls)
    blent = len(ls[0])
    clent = len(ls[0][0])

    mls = []
    for i in range(alent):
        tls1 = []
        for j in range(blent):
            tls2 = []
            for k in range(clent):
                if (
                    (i != 0 and i != alent - 1)
                    and (j >= 1 and j <= blent - 2)
                    and (k >= 1 and k <= clent - 2)
                ):
                    tls2.append(0)
                else:
                    tls2.append(1)
            tls1.append(tls2)
        mls.append(tls1)
    return mls
def coloring(ls):
    alent = len(ls)
    blent = len(ls[0])
    clent = len(ls[0][0])

    for i in range(alent):
        for j in range(blent):
            for k in range(clent):
                if (
                    (i != 0 and i != alent - 1)
                    and (j >= 1 and j <= blent - 2)
                    and (k >= 1 and k <= clent - 2)
                ):
                    ls[i][j][k] = 0
                else:
                    ls[i][j][k] = 1
    return ls
@HamidMolareza
Copy link
Owner

HamidMolareza commented Sep 18, 2023

در نکته سوم سوال گفته شده که تابع نباید مقداری رو چاپ یا برگردونه. باید لیستی که به تابع پاس داده شده رو تغییر بده.
در بسیاری از زبون‌ها، لیست‌ها و آرایه‌ها به صورت رفرنس پاس داده میشن نه خود اون‌ها. یعنی آدرس اون‌ها در حافظه پاس داده میشه نه کل آرایه. برای همین وقتی شما مقادیر رو در تابع تغییر می‌دین در حقیقت دارین مقادیر اصلی آرایه رو تغییر میدین. برای همین نیاز به return کردن هم ندارین.
اگر زمانی خواستین این اتفاق نیوفته، راهکارش اینه که توی فانکشن از آرایه کپی بگیرید که در این سوال نباید اینکار رو کنید.

برای اینکه راه‌حل به اسم خودتون ثبت بشه pull request بفرستین.
ممنون.

@ahkazemi2007
Copy link
Author

سلام ممنون بابت توضیحاتتون
من کار با گیت هاب رو زیاد بلد نیستم اگر میشه خودتون کد رو بزارید مهم نیست به اسم من باش فقط میخوام یه کمکی کرده باشم در مقابل کمک های زیاد شما

@HamidMolareza
Copy link
Owner

HamidMolareza commented Sep 18, 2023

گیت (Git) ابزار خیلی مفید و مهمیه خصوصا اگر بخواین برنامه‌نویسی رو به صورت جدی دنبال کنید.
گیت‌هاب و گیت‌لب و... هم براساس گیت کار میکنن.
این مورد میتونه تمرین خوبی برای شروع باشه.
مطلب رایگان درموردش زیاده. یکی دو ساعته میتونید مفاهیم اصلیش رو یاد بگیرید. بعد با چندتا دستور PR بزنید. مثلا:

git clone https://github.com/HamidMolareza/QueraProblems
git checkout -b solve-33034
[Make Changes](https://github.com/HamidMolareza/QueraProblems#usage)
git add .
git commit -m "solve(33034): python"
git push origin solve-33034
Send PR from GitHub

به صورت خلاصه اول پروژه رو clone می‌کنید بعد یه شاخه جدید می‌سازید بعد تغییرات رو اعمال می‌کنید بعد کامیت و پوش می‌کنید. در آخر گیت‌هاب تغییرات رو تشخیص میده و به صورت دستی با UI میتونید درخواست PR رو بفرستین.

حداقل یکی دو هفته این ایشو رو باز میذارم تا فرصت داشته باشین بعدش اگر مایل نبودین خودم اینکار رو میکنم.
ممنون.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants