עזרה | עזרה בהגדרה בפייתון
-
שלום אנשים
אם יש לי פונקציה שמישהו הביא לי את השורה הראשונה שלה ואני חייב לעבוד איתה
ובשורה הראשונה הזאת אין ערכי ברירת מחדל,
(כלומר אין את הdef my_function(q=4, r=4))
אלא יש רק את הq והr
אבל יש לי משימה שאם כשקוראים לפונקציה קוראים לה בלי ערכים אז כן יהיו ערכי ברירת מחדל
(הערכים אמורים להיות 11, 8, 9) אא"כ הגדירו אחרת
שימו לב אסור לגעת בשורה הראשונה כלומר לעשות ככה:def my_function(q=11, r=8 ,t=9:)
איך עושים את זה?
@כלמומחיהפורום -
-
@אהרן-שובקס כתב בעזרה | עזרה בהגדרה בפייתון:
@THMHE
אין אפשרות בלי להכניס בכלל מספר
והבעיה היא שאני לא יכול פשוט לעשות
def filter_teens(a=13, b=13, c=13):
אני חייב להגדיר ככה:
def filter_teens(a, b, c): -
@אהרן-שובקס כתב בעזרה | עזרה בהגדרה בפייתון:
אין אפשרות בלי להכניס בכלל מספר אתה יכול לשים 0 ואז הוא יקח את ברירת המחדל
def filter_teens(a=13, b=13, c=13): print(a, b, c) return a + b +c filter_teens()
ואז הוא כן נותן בלי ארגומנטים, אבל אני רוצה את האופציה הזאת בלי להגדיר ארגומנטי ברירת מחדל בשורת ההגדרה של הפונקציה אלא רק בהמשך בתוך הבלוק
-
def filter_teens(a, b, c): if a is None: a = 13 if b is None: b = 13 if c is None: c = 13 print(a, b, c) return a + b + c filter_teens(12,11,None)
שים לב שכמו בדוגמה, אם בקריאה לפונקציה אתה לא נותן ערך לאחד מהארגומנטים אתה צריך להגדיר אותו ל None
-
@מתכנת-חובב תודה על ההשקעה אבל זה לא טוב, אתה בשורה 12 הגדרת משהו, אפילו שזה None אבל הגדרת, אני צריך שלא יוגדר בכלל!
-
@אהרן-שובקס @מתכנת-חובב תודה על העזרה
התרגיל היה זה:
אני התמקדתי בהוראה המוקפת באדום ולכן שללתי את הפתרונות שלכם
אבל בסוף בעזרת חבר ניסיתי כן להוסיף ערכי ברירת מחדל בשורת ההגדרה וזה עבד, המערכת כתבה שעבדתי טוב
זה הפיתרון שכתבתי בסוף.
תודה לשניכם -