שימוש במשתנים אחרי if

קרה לי בתרגיל של מס הכנסה שאם כתבתי if ואז הגדרתי משתנה (נגיד tax1), אחרי זה הוספתי elif בו הגדרתי משתנה שרציתי לכלול בו את המשתנה הראשון (למשל tax2 = tax1 +1) קיבלתי שגיאה בסגנון של לא הגדרתי את משתנה tax1. אם יש הפרדות של התנאים בקוד והמשכורת עומדת נגיד בתנאי השני, המחשב לא יתייחס למשתנה שהגדרתי בתנאי שלפני? ככה בכל תנאי אני צריכה להגדיר מחדש את כל המשתנים/לכתוב חישובים?
מקווה שהשאלה ברורה…
תודה!

אם מגדירים משתנה בתוך if, אבל התנאי של ה-if לא נכון - המשתנה לא יוגדר כיוון שלא ניכנס בכלל ל-if. בפרט, אם נכנסים לאחד ה-elif-ים או ל-else אז התנאי של ה-if לא נכון - אחרת היינו נכנסים אליו - ולכן המשתנה הזה מעולם לא הוגדר כי מעולם לא הורצה השורה הרלוונטית בתוך ה-if.

2 לייקים

קודם כל תודה!זה בדיוק מה שחשבתי… אז במצב כזה מה אמורים לעשות? בכל תנאי צריך להגדיר שוב את המשתנה הקודם (או במקרה הזה פשוט הכנסתי שוב את החישוב) או שיש משהו פשוט יותר?
תודה וחג שמח!

לייק 1

אם זה משתנה שמשתמשים בו בכל התנאים - כדאי להגדיר אותו עוד לפניהם. אם זה משתנה שמשתמשים בכל אחד באופן שונה - ממילא צריך להגדיר אותו בכל אחד.
אם זה משתנה שצריך בחלק מהמקרים ככה ובחלק ככה זה כבר תלוי בך - אם בכל המקרים מלבד אחד הוא מקבל ערך מסוים אולי כדאי להגדיר אותו מראש ולשנות אותו רק במקרה היחיד הזה, אם רק בשני מקרים יש לו אותו ערך ובשאר שונה כנראה שכדאי בכל מקרה להגדיר אותו מחדש… זה מאוד תלוי בסיטואציה.

לייק 1