الكود الذي كتبته وكود الاستاذ نفسه تماما في حلقة رمي العملة ولكن انا بيطلعلي خطأ لماذا
الغلط في السطر ١٣
انت حاطط شرط على gon و لكن مش معرفه المتغير قبل أصلا لازم تعرفه الأول
gon انت حاط انها تنشأ اذا تحقق الشرط واذا ما تحقق فما راح ينشئ المتغير gon لذلك هو يقولك انه غير معرف
انشئ متغير gon ببداية الكود مشان يتحقق من قيمته ويكون موجود
والله ما فهمت حاول تكتب غون بالعربية حتى لا يتبدل الترتيب
ولكني عرفته فوق تحت random.random()
بالضبط تحت if
انت عامل gon جوه if اللي فوق في السطر الرابع فلما تيجي تتحقق مش هتلاقي لانك مش عاملو عالمي يعني بص في حاجه اسمها global variable و local variable الفرق م بينهم ان ال global ده بيكون موجود في الشارع الرئيسي يعني ايه يعني تقدر توصل بكل سهوله من جوه فانكشن او if او loop او اي حته انما ال local variable ده متغير بيكون موجود جوه فانكشن او if او loop لو لسه مختش الفانكشن اللي هي def ف هتعرفها قدام طب المتغير اللي جوه ال if ده local variable يعني انت تقدر تتحقق فعلا المتغير بس جوه if اللي في السطر الرابع مش بره يعني مش لما تخرج من if وتكتبها في مكان تاني علي اسطر الكود مثلا زي السطر 13 زي م انت كاتب بايثون هتشوف هل في متغير بره بره خالص اسمو gon ف هتلاقي انو مفيش ف هتديك NameError وده طبيعي لانها ملقتش gon بره عايم عايم زي ايه عايم زي متغير door اللي في تاني سطر ده كدا بايثون شايفه عادي تقدر تتحقق من اي مكان nested if بقي اللي انت عايزو بس م عدا طبعا انك تعمل التحقق وانت لسه معملتش المتغير زي مثلا
:"if name == "ahmed
"name = "ahmed
لا كدا بردو هيديك NameError لا انت بتتعامل مع interpretor وده بيقراء سطر سطر في الكود فلو لقي في السطر رقم كذا خطاء مبيكملش الكود بيجيب Error وعلي حسب طبعا الخطاء او نوع الخطاء ف بيطلعلك الخطاء هنا طلعلك NameError علشان ملقاش اسم المتغير بره زي السطر التاني كدا لا لقي جوه تحت شرط if عشان كدا طلعلك NameError
المتغير غون ما راح ينشئ الا اذا تحقق الشرط يعني اذا ما تحقق الشرط if ماراح ينشئ المتغير غون يعني كانه غير موجود عشان كذا يقولك غير معرف
نصيحه اضافية لتعليقات الاخوه حاول انك تسمي المتغيرات باسماء منطقيه وعود نفسك عالموضوع لان قدام رح تتلخبط
ونظم حلك في ورقه قبل البدأ عشان تعرف انت وش قاعد تسوي
خلي سطر 6 : 'gon = 'tails