الفصل الأول

الفصل الأول

1.1 خلفية

1.
b. تمثل كل صورة في الرسوم المتحركة نوعًا مختلفًا من برامج الحاسوب.
2.
a. يتطلب هذا النوع من التحليل معرفة أساسية بالبرمجة.
3.
c. مثل تطبيقات الهاتف المحمول، تشغل مكبرات الصوت التي تعمل بتقنية الواي فاي برامج صغيرة تتصل بالخوادم.
4.
b. يفترض هذا الكتاب أن القراء يفهمون أساسيات الجبر، ولكن ليس شيئًا صعبًا للغاية.
5.
c. صياغة بايثون أكثر إيجازًا من صياغة جافا.
6.
a. لا تتطلب بايثون فاصلة منقوطة في نهاية كل سطر. كما أن الأقواس المعقوفة ليست مطلوبة.

1.2 الإدخال/الإخراج

1.
c. برنامج "أهلاً بالعالم" هو مجرد سطر واحد من الشِفرة.
2.
c. يزيل الخيار end="" حرف السطر الجديد بعد كلمة "hello"، مما ينتج عنه Hello world! على نفس السطر.
3.
c. تم استبدال حرف المسافة الافتراضي الذي يفصل بين عدة عناصر بحرف الشرطة.
4.
c. يتم تخزين إدخال المستخدم في الذاكرة ويمكن الإشارة إليه باستخدام today_is.
5.
b. تُخرج دالّة print() "You entered:" متبوعة بحرف مسافة، ثم بيانات الإدخال، Sophia، والتي يُشار إليها باسم المُتغيِّر.
6.
a. يتم تخزين الإدخال تمامًا كما يدخله المستخدم. لذا، يتم عرض القيمة المسترجعة تمامًا كما أدخلها المستخدم.

1.3 المُتغيِّرات

1.
c. سينتج عن هذه السلسلة النصية المخرجة: "The city where you live is Chicago" .
2.
b. سينتج عن هذين السطرين من الشِفرة السلسلة النصية المخرجة: "Total = 6" .
3.
c. الحرف = الوحيد هو عامل الإسناد.
4.
a. تحتوي تعليمة الإسناد على اسم المُتغيِّر في الجانب الأيسر والقيمة في الجانب الأيمن من تعليمة الإسناد.
5.
a. median هو اسم وصفي لمُتغيِّر يخزن قيمة وسيطة.
6.
b. يمكن أن يحتوي اسم المُتغيِّر على رقم، ولكن لا يمكن أن يبدأ به.
7.
c. يشير الاسم بوضوح إلى أن القيمة المخزنة هي رمز بريدي.
8.
a. اصطلاح snake_case يفصل كل كلمة بشرطة سفلية ويستخدم أحرفًا صغيرة فقط.

1.4 أساسيات السلاسل النصية

1.
c. السلسلة النصية المحاطة بعلامتي اقتباس مزدوجتين متطابقتين هي سلسلة نصية صالحة. لاحظ أن '7 days' هي أيضًا سلسلة نصية.
2.
c. السلسلة النصية، [email protected]، محاطة بعلامتي اقتباس مزدوجتين متطابقتين، ومُسندة إلى المُتغيِّر email. يمكن أن تحتوي السلسلة النصية على أحرف مثل "@" أو "." بالإضافة إلى الحروف والأرقام.
3.
c. السلسلة النصية تحتوي على علامتي اقتباس مزدوجتين متطابقتين. بما أن علامة الاقتباس المفردة جزء من هذه السلسلة النصية، يجب استخدام علامتي الاقتباس المزدوجتين.
4.
c. لاحظ أن علامتي الاقتباس المفردتين المحيطتين (') ليستا جزءًا من السلسلة النصية، لكن علامتي الاقتباس المزدوجتين (") هما كذلك.
5.
c. تُرجع دالّة len() عدد الأحرف في السلسلة النصية. توجد 6 أحرف في "Hi Ali" وهي "H", "i", " ", "A", "l", و "i".
6.
b. طول السلسلة النصية الفارغة يساوي 0.
7.
b. قيمة المُتغيِّر number_of_digits هي 2 ، وبالتالي، يكون الإخراج "Number 12 has 2 digits." .
8.
c. الـ 1 والـ 0 محاطان بعلامات اقتباس تشير إلى أنهما سلسلتان نصيتان صالحتان، وعلامة + ليست كذلك، مما يشير إلى عملية دمج. وبالتالي، يتم إنتاج السلسلة النصية "10" . لاحظ أن عامل الدمج لا يتضمن أي أحرف فاصلة افتراضية مثل حرف المسافة.
9.
c. "A" و "wake" هما سلسلتان نصيتان صالحتان، وعلامة + ليست محاطة بعلامات اقتباس، مما يشير إلى عملية دمج. وبالتالي، يتم إنتاج السلسلة النصية "Awake" . لاحظ أن عامل الدمج لا يتضمن أي أحرف فاصلة افتراضية مثل حرف المسافة.
10.
c. لاحظ أنه يجب تضمين أحرف المسافة بشكل صريح عند استخدام عامل الدمج.
11.
c. يتم إسناد دمج السلسلتين النصيتين إلى المُتغيِّر holiday. لاحظ أن "one-sided" ستُسند نفس السلسلة النصية إلى holiday.

1.5 أساسيات الأعداد

1.
c. x = 1 هو عدد صحيح (int)، وعند طباعة نوع المُتغيِّر الصحيح، يكون الإخراج <class 'int'>.
2.
b. y = 2.0 هو عدد عشري (float).
3.
a. أي قيمة مُعرّفة ضمن علامات اقتباس هي قيمة سلسلة نصية بغض النظر عن المحتوى.
4.
c. يتم تقييم السطر الثاني من الشِفرة كالتالي: c = x - z = 7 - 2 = 5. يزيد السطر الثالث المُتغيِّر c بمقدار 1، مما يجعل المجموع يساوي 6.
5.
b. إخراج 3.5-1.5 يساوي 2.0 ، وهو عدد عشري.
6.
c. نتيجة عملية القسمة هي عدد عشري لا يتم تقريبه للأسفل. 7/2 = 3.5.
7.
c. إخراج 20/2 يساوي 10.0 لأن عملية القسمة تنتج عددًا عشريًا.
8.
c. ينتج عن إخراج عامل حسابي على أي مُعامِل ذي فاصلة عائمة قيمة ذات فاصلة عائمة. 2 * 1.5 = 3.0.
9.
a. 3 مرفوعة للقوة 2 هي 9، مضروبة في 4 هي 36، زائد 1 هي 37.
10.
b. على الرغم من أن للجمع أسبقية أقل من الرفع إلى الأس، إلا أن الأقواس تتسبب في تقييم 1 + 3 أولاً.
11.
a. في بايثون، للرفع إلى الأس أسبقية أعلى من جعل القيمة سالبة. يمكن أن تكون نتيجة -16 في بايثون مربكة لأنه، في الرياضيات، "-4 squared" هو 16 .
12.
c. تستخدم التعليمة عامل الإسناد (=)، وعامل السالب (-)، وعامل الرفع إلى الأس (**).

1.6 رسائل الخطأ

1.
b. يمكن العثور على اسم الملف بعد الشرطة المائلة الأخيرة (/). تشير أسماء أخرى، مثل Desktop، إلى مجلدات.
2.
b. يُذكر السطر 2 مباشرة بعد اسم الملف.
3.
b. نوع الخطأ هو دائمًا الكلمة الأولى في السطر الأخير من رسالة الخطأ.
4.
a. الأسطر الثلاثة الوسطى مُزاحة. في بايثون، قد لا تبدأ الأسطر بمسافات أو علامات جدولة بشكل غير متوقع.
5.
c. علامات الاقتباس مفقودة في نهاية مِحَث الإدخال.
6.
b. اسم "input" مكتوب بشكل خاطئ.

1.7 تعليقات

1.
b. تساعد التعليقات في شرح الغرض من الشِفرة حتى يفهم المبرمجون الآخرون ما تهدف إليه الشِفرة.
2.
a. يشير رمز الهاش إلى بداية تعليق.
3.
b. وجود مسافة واحدة بعد # هو المعيار المجتمعي.
4.
c. يشرح هذا التعليق الغرض من الشِفرة. إذا كانت الشِفرة تحتوي على خطأ، فقد يلاحظ المبرمج الذي يقرأ التعليق الخطأ بسهولة أكبر.
5.
a. يفصل سطر فارغ الإدخال عن الإخراج.
ثم مرة أخرى، إدراج سطر فارغ في برنامج من ثلاثة أسطر غير ضروري بشكل عام.
6.
c. يرمز # إلى "إلغاء تفعيل" السطر دون إزالته بشكل دائم.
7.
a. تُكتب سلسلة التوثيق بشكل أساسي للآخرين الذين سيستخدمون البرنامج.
8.
c. يجب أن تكون سلاسل التوثيق سلسلة نصية صالحة، وليست تعليقًا متعدد الأسطر. تُخزن سلاسل التوثيق في ذاكرة البرنامج، لكن التعليقات يتم تجاهلها.
9.
b. كمية المعلومات في سلسلة التوثيق هذه مناسبة تمامًا. في معظم الحالات، يجب ألا تكون سلسلة التوثيق أطول من الشِفرة.

1.8 لماذا بايثون؟

1.
a. سُميت اللغة على اسم مونتي بايثون. للمتعة فقط، تحتوي الوثائق الرسمية على إشارات خفية إلى اسكتشات مونتي بايثون الكوميدية.
2.
b. كان الإصدار الأول لبايثون في عام 1991، بعد تطويرها في أواخر الثمانينيات.
3.
c. جعل بايثون مفتوحة المصدر في وقت مبكر سمح للعديد من المبرمجين بتقديم الملاحظات.
4.
b. لمدة 20 عامًا، تبادلت جافا وC المراكز كلغة برمجة رائدة حتى تولت بايثون الصدارة في عام 2021!
5.
a. يتقاطع خط بايثون مع خط جافاسكريبت في منتصف عام 2018.
6.
b. بدأت TIOBE في تتبع شعبية اللغات في عام 2001، بعد عدة سنوات من انتشار محركات البحث على الويب.