🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ پارسا
چرا return؟
جامعه پایتون (وب) ایجاد شده در ۱۳ شهریور ۱۴۰۱

سلام خسته نباشید

چرا در دقیقه ی ۵:۴۰ استاد توی شرط از return استفاده کردند؟

یعنی به این صورت:

def get_user_choice():
    user_input = input("Please enter your choice (r, p, s): ")
    if user_input not in GAME_CHOICES:
        print("Please enter the right choice!!!")
        return get_user_choice()
    return user_input

من چیزی که احساس میکنم اینه که کد باید اینطوری نوشته میشد

def get_user_choice():
    user_input = input("Please enter your choice (r, p, s): ")
    if user_input not in GAME_CHOICES:
        print("Please enter the right choice!!!")
        get_user_choice()
    return user_input

البته هر دوتاش کار میکنن

فقط منطق به کار بردن return رو اینجا متوجه نشدم.

درود

درسته در این مساله تفاوتی نداره. اما اگر محاسباتی قرار باشه صورت بگیره اون return مهم میشه.

همونطور که توضیح داده شد اگر شرط برقرار نباشه تابع مجددا فراخوانی میشه تا یه مقدار تعریف شده از کاربر گرفته بشه. حالا اگر اون بخش return نکنید، مقدار نهایی ممکنه که دوبار برگردونده بشه: یبار در فراخوانیهای تودرتویی که تابع داره و یبار وقتی فراخوانیها تموم میشه و به خط آخر میرسه.

پس با گذاشتن تابع این مورد رو تضمین میکنیم که نتیجه یکبار به صورت درست برگرده.

بهترین پاسخ
نازنین کریمی مقدم ۱۳ شهریور ۱۴۰۱، ۱۳:۳۶