diff --git a/lessons/beginners-en/hello-world/index.md b/lessons/beginners-en/hello-world/index.md
index e006e7480e..ef73078ff1 100644
--- a/lessons/beginners-en/hello-world/index.md
+++ b/lessons/beginners-en/hello-world/index.md
@@ -1,21 +1,22 @@
-# My First Program
+# أول برنامج (My First Program)
```pycon
>>> 3 + 4
7
```
+يمكنك إصدار الأوامر في **وحدة تحكم بايثون التفاعلية (Python interactive console)**.
+ولكن لها عيب:
+يفقد البرنامج الذي تكتبه عند انتهاء الجلسة.
+إنه جيد لتجربة الأوامر البسيطة.
+ومع ذلك ، غالبًا ما تحتاج إلى طريقة لحفظ البرامج الأكثر تعقيدًا في مكان ما.
-You can issue commands in the *Python interactive console*.
-But it has a disadvantage:
-The program that you type is lost when the session ends.
-It is good for trying simple commands.
-Very often however, you need a way to save more complex programs somewhere.
+افتح **محرر النصوص (editor)** الخاص بك
+(يجب أن يكون لديك **محرر نصوص (editor)** مثبتًا. إذا لم يكن كذلك ، اتبع التعليمات الموجودة في
+[تثبيت المحرر (editor)]({{ lesson_url('beginners-en/install-editor')}}).)
+
+أنشئ ملفًا جديدًا في **محرر النصوص (editor)** واكتب ال code التالي:
-Open your editor
-(You should have an editor installed. If not, follow the instructions in
-[Editor installation]({{ lesson_url('beginners-en/install-editor')}}).)
-Create a new file in your editor and type the following code:
```python
print("Hello world!")
@@ -27,68 +28,70 @@ print("Hello world!")
{% set rootname = 'naucse-python' %}
{%- endif %}
-Then save the file as `hello.py`.
-* You have to create the subdirectory named `02` in the `pyladies`
-(or whatever folder name you've created last lecture) directory.
-* Then you can store the file as `hello.py` in it.
+## حفظ الملف
+
+ثم احفظ الملف باسم `hello.py`.
+* يجب عليك إنشاء **المجلد الفرعي (Subdirectory)** المسمى `02` في **المجلد (Directory)** `sudan`
+(أو أي اسم مجلد قمت بإنشائه في المحاضرة الأخيرة).
+* ثم يمكنك تخزين الملف باسم `hello.py` فيه.
-If you can choose the *encoding* in your editor, you should use `UTF-8`.
-If you can choose the file type, use `.py` or `All Formats`.
+إذا كان بإمكانك اختيار *ترميز الأحرف (encoding)* في **محرر النصوص (editor)** الخاص بك ، فيجب عليك استخدام `UTF-8`.
+إذا كان بإمكانك اختيار نوع الملف ، فاستخدم `.py` أو `All Formats`.
-Some operating systems or editors hide extensions or add their own extensions.
-You can check the real name using the command line.
-Open your command line and change your current directory to the subdirectory you created -
-for example by using the `cd` command to `~/pyladies/02`.
+قد تخفي بعض أنظمة التشغيل أو **محرري النصوص (Editors)** الامتدادات أو تضيف امتداداتها الخاصة.
+يمكنك التحقق من الاسم الحقيقي باستخدام **سطر الأوامر (Command Line)**.
+افتح **سطر الأوامر (Command Line)** وقم بتغيير **المجلد (Directory)** الحالي إلى **المجلد الفرعي (Subdirectory)** الذي قمت بإنشائه -
+على سبيل المثال باستخدام الأمر `cd` إلى `sudan/02/~`.
-List what is in the directory using the command `ls` (Mac or Linux) or `dir` (Windows)
-and check that the filename is really `hello.py` and not, for example, `hello.py.txt`.
+قم بإدراج ما يوجد في **المجلد (Directory)** باستخدام الأمر `ls` (Mac أو Linux) أو `dir` (Windows)
+وتحقق مما إذا كان اسم الملف هو بالفعل `hello.py` وليس ، على سبيل المثال ، `hello.py.txt`.
-## Executing Your Program
+## تنفيذ برنامجك
-Open the command line.
-Change to the `~/pyladies/02` directory and issue the following command:
+افتح **سطر الأوامر (Command Line)**.
+انتقل إلى **المجلد (Directory)** `sudan/02/~` وأصدر الأمر التالي:
```console
python3 hello.py
```
> [note]
-> You have learned about the command line in
-> a [previous lesson]({{ lesson_url('beginners-en/cmdline')}}) which shows how to change the current directory
-> using the `cd` command.
+> لقد تعلمت عن **سطر الأوامر (Command Line)** في
+> [درس سابق]({{ lesson_url('beginners-en/cmdline')}}) والذي يُظهر كيفية تغيير **المجلد (Directory)** الحالي
+> باستخدام الأمر `cd`.
-After you run `python3 hello.py` you should see the program responding with writing `Hello world!` into the terminal.
+بعد تشغيل `python3 hello.py` يجب أن ترى البرنامج يستجيب بكتابة `Hello world!` في **المحطة (terminal)**.
-If it does not work, make sure that:
+إذا لم يعمل ، فتأكد من:
-* You are in the correct directory: `~/pyladies/02`
- (you need to replace `~/pyladies` with the directory that you have created previously).
-* The `hello.py` file contains the correct command, including quotes and parentheses.
-* Do not type `$` or `>` character in the command line – it is there to indicate that this is a command line.
- It is printed by the operating system after any program has finished.
- You should type only: `python3 hello.py`.
+* أنك في **المجلد (Directory)** الصحيح: `sudan/02/~`
+ (تحتاج إلى استبدال `sudan/~` بـ **المجلد (Directory)** الذي قمت بإنشائه سابقًا).
+* يحتوي ملف `hello.py` على الأمر الصحيح ، بما في ذلك الاقتباسات والأقواس.
+* لا تكتب حرف `$` أو `<` في **سطر الأوامر (Command Line)** - فهو موجود للإشارة إلى أن هذا هو **سطر الأوامر (Command Line)**.
+ يتم طباعته بواسطة نظام التشغيل بعد انتهاء أي برنامج.
+ يجب عليك فقط كتابة: `python3 hello.py`.
-If it still does not work, **ask your coach for help!**
+إذا لم يعمل ، **اطلب المساعدة من مدربك!**
-> [style-note] Note about code style
+> [style-note] ملاحظة حول أسلوب الكتابة
>
-> It does not usually matter where you use space in Python inside a command.
-> The command `print("Hello world!")` has the same effect as:
+> عادةً لا يهم مكان استخدام المسافة في Python داخل الأمر.
+> الأمر `print("Hello world!")` له نفس تأثير:
>
> ```python
> print ( "Hello world!" )
> ```
>
-> It is however a good practice to follow some typical guidelines.
-> In English, we do not write a space after an opening parenthesis.
-> In Python, we do not write a space even between `print` and `(`.
-> The recommended style is:
+> ومع ذلك ، من الجيد اتباع بعض الإرشادات النموذجية.
+> في اللغة الإنجليزية ، لا نكتب مسافة بعد القوس الافتتاحي.
+> في Python ، لا نكتب مسافة حتى بين `print` و `(`.
+> الأسلوب الموصى به هو:
>
> ```python
> print("Hello world!")
> ```
>
-> The spaces between the quotes have a meaning: If you type
-> `" Hello world!"`, then the extra spaces are printed.
+> المسافات بين الاقتباسات لها معنى: إذا قمت بكتابة
+> `" Hello world!"` ، فسيتم طباعة المسافات الإضافية.
diff --git a/lessons/beginners-en/hello-world/info.yml b/lessons/beginners-en/hello-world/info.yml
index aa0a50e784..8cdc2f7f9d 100644
--- a/lessons/beginners-en/hello-world/info.yml
+++ b/lessons/beginners-en/hello-world/info.yml
@@ -1,6 +1,7 @@
-title: First program
+title: أول برنامج (First program)
style: md
attribution:
+- Translated and Modified by Mussab Abdalla
- Translated by Petr Plavjanik
- Modified by Tyna Dolezalova
- |
diff --git a/lessons/beginners-en/lesson-2-homework/index.md b/lessons/beginners-en/lesson-2-homework/index.md
index b8a6a622a0..2c08009d8c 100644
--- a/lessons/beginners-en/lesson-2-homework/index.md
+++ b/lessons/beginners-en/lesson-2-homework/index.md
@@ -1,26 +1,21 @@
# Homework
-Try out these exercises at home. These are just examples. Try to find some more examples in the internet or just play around!
+جرب هذه التمارين في المنزل. هذه مجرد أمثلة. حاول العثور على المزيد من الأمثلة على الإنترنت أو فقط العب قليلاً!
-1. Which Python version are you using?
-2. Not everything can be used as a variable name. Which ones of these cannot be used as variable names? If you are not sure, try it out.
- - `x`, `button4`, `34`, `3e4`, `turkey`, `$i`, `square-root`, `readme`, `readme.txt`, `shorterEdge`, `shorter_edge`, `NUMBER_OF_POINTS`, `_`, `π`, `True`, `_cache`, `__name__`, `while`.
-3. Some of the names above are valid, but not very good variable names. Which ones do you think are those?
-4. Which one of `shorterEdge`, `shorter_edge` is a more correct name for a variable? Why? Try searching for *PEP 8 variable names*. What's a `PEP 8`?
-5. Try to write a program that calculates the `surface` and `volume` of a `cube` with `edge = 2852 cm`.
-6. Now change the program so that the user can enter the `edge` value.
-7. Write a program that calculates the `Body Mass Index (BMI)` from a user's `weight` and `height`.
-The BMI is a measure of some's weight taking into account their height. e.g. If a tall person and a short person both weigh the same amount, the short person is usually more overweight.
-The BMI is calculated by `dividing` a person's `weight` (in kg) by the `square of their height` (in `m`).
-8. Write the following code into single cell and run it more times. What is it doing?
+1. ما إصدار (version) Python الذي تستخدمه؟
+2. لا يمكن استخدام كل شيء كاسم متغير. أي منها لا يمكن استخدامه كأسماء متغيرات؟ إذا لم تكن متأكدًا ، فجرب ذلك.
+ - `x` ، `button4` ، `34` ، `3e4` ، `turkey` ، `$i` ، `square-root` ، `readme` ، `readme.txt` ، `shorterEdge` ، `shorter_edge` ، `NUMBER_OF_POINTS` ، `_` ، `π` ، `True` ، `_cache` ، `__name__` ، `while`.
+3. بعض الأسماء أعلاه صالحة ، ولكنها ليست أسماء متغيرات جيدة جدًا. أيهما تعتقد أنها تلك؟
+4. أيهما من `shorterEdge` ، `shorter_edge` هو اسم متغير أكثر صحة؟ لماذا ا؟ حاول البحث عن *أسماء متغيرات PEP 8*. ما هو `PEP 8`؟
+5. حاول كتابة برنامج يحسب `surface` و `volume` لـ `cube` مع `edge = 2852 cm`.
+6. الآن قم بتغيير البرنامج بحيث يمكن للمستخدم إدخال قيمة `edge`.
+7. اكتب برنامجًا يحسب **مؤشر كتلة الجسم (BMI)** من `weight` و `height` للمستخدم.
+مؤشر كتلة الجسم هو مقياس لوزن شخص ما مع مراعاة طوله. على سبيل المثال ، إذا كان الشخص الطويل والقصير يزن نفس الوزن ، فإن الشخص القصير يكون عادةً أكثر بدانة.
+يتم حساب مؤشر كتلة الجسم بقسمة وزن الشخص (بالكيلوغرام) على **مربع الطول** (بالمتر).
+8. اكتب الكود التالي في خلية واحدة وقم بتشغيله عدة مرات. ماذا يفعل؟
```python
-from random import randrange
-number = randrange(3)
-print(number)
+from random import randrange
+number = randrange(3)
+print(number)
```
-
-
diff --git a/lessons/beginners-en/lesson-2-homework/info.yml b/lessons/beginners-en/lesson-2-homework/info.yml
index d5453dd5d9..fa15713f13 100644
--- a/lessons/beginners-en/lesson-2-homework/info.yml
+++ b/lessons/beginners-en/lesson-2-homework/info.yml
@@ -1,5 +1,6 @@
title: Homework - lesson 2
style: md
attribution:
+- Translated by Mussab Abdalla
- Mateusz Krainski
license: cc-by-sa-40
diff --git a/lessons/beginners-en/print/index.md b/lessons/beginners-en/print/index.md
index 74ac805fa0..e4b0018007 100644
--- a/lessons/beginners-en/print/index.md
+++ b/lessons/beginners-en/print/index.md
@@ -1,8 +1,7 @@
-# Print and errors
-
-Create a file ~/pyladies/02/printing.py
(in the editor)
-and write the following commands:
+# الطباعة والأخطاء (Print and errors)
+إنشئ ملفًا sudan/02/printing.py/~
(في **محرر النصوص (editor)**)
+ واكتب الأوامر التالية:
```python
print(1)
@@ -12,106 +11,105 @@ print(3 * 8)
print(10 - 2.2)
print(3 + (4 + 6) * 8 / 2 - 1)
print('*' * 80)
-print("Hello" + " " + "PyLadies!")
+print("Hello" + " " + "sudan!")
print("Sum of numbers 3 and 8 is", 3 + 8)
print('Twinkle, twinkle, little star')
print(How I wonder what you are.)
```
-Now run the program. Does it work?
+## الطباعة والأخطاء (Print and errors)
+
+حاول تشغيل البرنامج الآن. هل يعمل؟
-## How to read error messages
+## كيفية قراءة رسائل الخطأ (How to read error messages)
-You will often find out that the code you wrote isn't working on its first run.
-It's because the computer is not that smart and you have to write the commands in the exact way,
-according to the Python rules. Don't worry, it happens even to experienced programmers.
+ستكتشف في كثير من الأحيان أن الكود الذي تكتبه لا يعمل في التشغيل الأول.
+هذا لأن الكمبيوتر ليس ذكيًا جدًا وعليك كتابة الأوامر بالطريقة الصحيحة تمامًا ،
+وفقًا لقواعد Python. لا تقلق ، يحدث ذلك حتى للمبرمجين المتمرسين.
-The important thing is to know how to find out what is wrong. The error messages will help you with
-that. For example, after we run our program, it should print this:
+الأمر المهم هو معرفة كيفية اكتشاف الخطأ. ستساعدك رسائل الخطأ في ذلك.
+على سبيل المثال ، بعد تشغيل برنامجنا ، يجب أن يطبع هذا:
-
- File "~/pyladies/02/printing.py", line 11 ++ File "~/sudan/02/printing.py", line 11 print(How I wonder what you are.) ^ SyntaxError: invalid syntax-First, Python prints the name of the file and line number, -where the error is. -Then it prints the whole line with the mistake. -And finally the error type -(in our case it's `"SyntaxError"`) and eventually some more info. +أولاً ، يطبع Python اسم الملف و رقم السطر ، +حيث يوجد الخطأ. +ثم يطبع السطر بأكمله مع الخطأ. +وأخيرا نوع الخطأ +(في حالتنا هو "SyntaxError") وربما بعض المعلومات الأخرى. -> [note] How is this error different from the one that happens when you -> try to add up a number and text? Or when you try to divide by zero? +> [note] كيف يختلف هذا الخطأ عن الخطأ الذي يحدث عند محاولة جمع رقم ونص؟ +> أو عندما تحاول القسمة على صفر؟ -Error messages can be hard to understand in the beginning, but -you will get used to them with practice. +قد يصعب فهم رسائل الخطأ في البداية ، ولكنك ستعتاد عليها مع الممارسة. -For now, the important thing for you will be the line number. -When you know that the mistake is on line 11, -you can look at that line and try to find it. +في الوقت الحالي ، سيكون الشيء المهم بالنسبة لك هو رقم السطر. +عندما تعرف أن الخطأ موجود في السطر 11 ، +يمكنك إلقاء نظرة على هذا السطر ومحاولة العثور عليه. -When you can't find it there, it can also be a few lines above or below. -Python sometimes doesn't share human views where the mistake actually *is* -and it shows you where it *noticed* the mistake. +عندما لا يمكنك العثور عليه هناك ، فقد يكون أيضًا في بضعة أسطر أعلى أو أسفل. +في بعض الأحيان لا يشارك Python وجهات النظر البشرية حيث يكون الخطأ بالفعل * +ويظهر لك المكان الذي *لاحظ فيه* الخطأ. -In our case the mistake is that we don't have quotation marks around -the string. So add them there and run the program again. +في حالتنا ، يكون الخطأ هو أن ليس لدينا علامات اقتباس حول السلسلة. +لذلك أضفها هناك وشغّل البرنامج مرة أخرى. -If it works, **congratulations**! -If not, try to correct the program and repeat until it works :) +إذا نجح ، **مبروك**! +إذا لم يكن كذلك ، حاول تصحيح البرنامج وكرر حتى يعمل :) -If you are still in doubt, please ask a mentor for help! +إذا كنت لا تزال تشك ، فيرجى طلب المساعدة من معلم! -## How the program works +## كيفية عمل البرنامج (How the program works) -Now that our program works we can take a closer look at what is happening -when it's running. +الآن بعد أن يعمل برنامجنا ، يمكننا إلقاء نظرة فاحصة على ما يحدث +عندما يعمل. -It's quite simple: Commands are performed **one after the other from top to bottom**. -The program is like a cooking recipe: a list of instructions that tells you what to do. +إنه بسيط للغاية: يتم تنفيذ الأوامر **واحدة تلو الأخرى من أعلى إلى أسفل**. +البرنامج مثل وصفة الطهي: قائمة تعليمات تخبرك بما يجب عليك فعله. -Soon your programs will look more like a sorcerer's potion -(*wait for the full moon and if Mars is in conjunction with -Jupiter then stir three times*) but the principle is still -the same: the computer reads the commands from top to bottom -and performs them one after the other. +قريباً ستبدو برامجك أكثر شبهاً بجرعة الساحر +(*انتظر اكتمال القمر وإذا كان المريخ متصلاً بالمشتري +ثم حرك ثلاث مرات*) ولكن المبدأ لا يزال هو نفسه: يقرأ الكمبيوتر +الأوامر من أعلى إلى أسفل وينفذها واحدة تلو الأخرى. -## Print and expressions +## الطباعة التعبيرات (Print and expressions) -And which instructions make up our "recipe"? +وما هي التعليمات التي تشكل "وصفتنا"؟ -That `print` which we use is a *function*. We will talk -about functions later, now all you need to know is that -if you type `print` and after that, in parentheses, some -*expressions* separated by comma, the values of those -expressions will be printed. +هذا `print` الذي نستخدمه هو *دالة*. سنتحدث +عن الوظائف لاحقًا ، والآن كل ما تحتاج إلى معرفته هو أنه +إذا كتبت `print` وبعد ذلك ، بين قوسين ، بعض +* التعبيرات * مفصولة بفواصل ، سيتم طباعة قيم تلك التعبيرات. -And what are those expressions? -You have some examples in our code: -An expression can be a number, a string, or some (e.g. mathematical) -operations composed of multiple expressions. -For example the expression `3 + 8` will add up `3` and `8`. +وماذا تعني هذه التعبيرات؟ +لديك بعض الأمثلة في الكود الخاص بنا: +يمكن أن يكون التعبير رقمًا أو سلسلة أو بعض العمليات (على سبيل المثال الحسابية) +يتكون من تعبيرات متعددة. +على سبيل المثال ، سيضيف التعبير `3 + 8` `3` و `8`. -We will focus on expressions and their values more in -the lesson about [variables]({{ lesson_url('beginners-en/variables') }}). +سنركز أكثر على التعبيرات وقيمها في +درس حول [variables]({{ lesson_url('beginners-en/variables') }}). -> [style-note] Typography +> [style-note] الطباعة > -> Notice that there are no spaces around -> the parentheses: +> لاحظ أنه لا توجد مسافات حول +> الأقواس: > ```python > print("Hello!") > ``` > -> We can write a space after a comma, but not before: +> يمكننا كتابة مسافة بعد الفاصلة ، ولكن ليس من قبل: > ```python > print(1, 2, 3) > ``` > -> You should also write spaces around mathematical operators: +> يجب عليك أيضًا كتابة مسافات حول العوامل الرياضية: > ```python > print(2 + 8) > print("One and a half is ", 1 + 1/2) -> ``` +> ``` \ No newline at end of file diff --git a/lessons/beginners-en/print/info.yml b/lessons/beginners-en/print/info.yml index 16ff7fb230..bb6cc614ad 100644 --- a/lessons/beginners-en/print/info.yml +++ b/lessons/beginners-en/print/info.yml @@ -1,6 +1,7 @@ -title: Print and errors +title: الطباعة والأخطاء (Print and errors) style: md attribution: +- Translated by Mussab Abdalla. - Translated by Marketa Muzikova - | Originally written by Petr Viktorin, 2014-2017 for [PyLadies CZ]. diff --git a/lessons/beginners-en/variables/index.md b/lessons/beginners-en/variables/index.md index 447eda354d..e119aad490 100644 --- a/lessons/beginners-en/variables/index.md +++ b/lessons/beginners-en/variables/index.md @@ -1,38 +1,35 @@ -# Square +# المربع (Square) -Now we'll go back to elementary school and try to write a program -that calculates the perimeter and the area of a square. +الآن سنعود إلى المدرسة الابتدائية ونحاول كتابة برنامج +يحسب محيط ومساحة مربع. -> [note] Maths -> I hope that this won't scare anyone off -> but the word "computer" is derived from the -> word *computing*. So there's no need -> to be scared, knowledge from elementary -> school will be enough for basic programming. +> [note] ملاحظة حول الرياضيات +> آمل أن لا يخيف هذا أحدًا +> ولكن كلمة "كمبيوتر" مشتقة من كلمة *حوسبة* (computing). +> لذلك لا داعي للخوف ، ستكون المعرفة المكتسبة من المدرسة الابتدائية +> كافية للبرمجة الأساسية. -The perimeter of a square with a side length of a -can be computed by the **P = 4a** -formula, and the area formula is **S = a²**. -So let's say that our square has a side length of **a = 356 cm**. +يمكن حساب محيط مربع بطول ضلع يبلغ a بواسطة معادلة **P = 4a** + ، ومعادلة المساحة هي **S = a²**. +لذلك لنفترض أن مربعنا له طول ضلع يساوي **a = 356 سم**. - -Print the result with `print()`. -Save the program into the file~/pyladies/02/square.py
-and run it; this is what it should print: +اطبع النتيجة باستخدام `()print`. +احفظ البرنامج في الملفsudan/02/square.py/~
+وشغله؛ هذا ما يجب أن يطبعه: ``` The perimeter of a square with a side of 356 cm is 1424 cm. The area of a square with a side of 356 cm is 126736 cm2 ``` -The result should be computed by Python so don't write the -numbers 1424 and 126736 into your code.
-If you don't know what to do, look into your programprinting.py
-from the lesson about [`print`]({{ lesson_url('beginners-en/print') }}), -where one of the lines does a similar thing. +يجب حساب النتيجة بواسطة Python لذلك لا تكتب +الأرقام 1424 و 126736 في الكود الخاص بك.
+إذا كنت لا تعرف ما يجب القيام به ، فانظر إلى برنامجكprinting.py
+من الدرس حول [`الطباعة والأخطاء (Print and errors)`]({{ lesson_url('beginners-en/print') }})، +حيث يقوم أحد الأسطر بعمل مشابه. {% filter solution %} - A program which prints the right result could look like this: + البرنامج الذي يطبع الاجابة الصحيحة سيكون على النحو التالي : ```python print('The perimeter of a square with a side of 356 cm is', 4 * 356, 'cm') @@ -41,11 +38,11 @@ where one of the lines does a similar thing. {% endfilter %} -## Smaller square +## مربع أصغر (Smaller square) -If everything works, try to change the program -so it computes the perimeter and the area -of a square with a side of 123 cm. +إذا كان كل شيء يعمل ، فحاول تغيير البرنامج +بحيث يحسب محيط ومساحة +مربع بطول ضلع 123 سم. {% filter solution %} ```python @@ -55,19 +52,19 @@ of a square with a side of 123 cm. {% endfilter %} -## Variables +## المتغيرات (Variables) -Could you make it even for a side of 3945 cm, 832 cm, 956 cm? -Do you enjoy rewriting numbers? -If the program were longer (few pages) -how would you make sure that you didn't forget -to rewrite one of the numbers? +هل يمكنك جعلها حتى لجانب من 3945 سم ، 832 سم ، 956 سم؟ +هل تستمتع بإعادة كتابة الأرقام؟ +إذا كان البرنامج أطول (عدد قليل من الصفحات) +كيف يمكنك التأكد من أنك لم تنس +إعادة كتابة أحد الأرقام؟ -There is a way how to write a program without -rewriting all the numbers every time: -You name the side of the square and then you just -use that name. In Python, **variables** are used to name values. -They are being used this way: +هناك طريقة لكتابة برنامج بدون +إعادة كتابة جميع الأرقام في كل مرة: +أنت تسمي ضلع المربع ثم تستخدم ذلك فقط +الاسم. في Python ، تُستخدم **المتغيرات (variables)** لتسمية القيم. +يتم استخدامها بهذه الطريقة: ```python side = 123 @@ -75,66 +72,64 @@ print("The perimeter of a square with a side of", side,"cm is ", side * 4,"cm.") print("The area of a square with a side of", side,"cm is", side * side, "cm2.") ``` -So you write the name, then `=` and after that -the expression whose value will be *assigned* -to that variable. -Whenever you write the name of the variable, -Python will use just its value. +يمكنك كتابة الاسم ، ثم `=` وبعد ذلك +التعبير الذي سيتم *تعيين* قيمته +إلى ذلك المتغير. +كلما كتبت اسم المتغير ، +سيستخدم Python قيمته فقط. > [style-note] -> The convention here is to put a space before and after the equals sign. +> الاتفاقية هنا هي وضع مسافة قبل وبعد علامة المساواة. -Which leads us to one of the core principles of programming: -*Don't repeat yourself*, **DRY**. -When there is a value, an expression or the same -piece of code repeatedly, a good programmer will -name that part, and then they use the name several times. -It often happens that the program needs to be changed - either -there is a mistake or the task has changed. -And then, it is easier to make that change only in one place. +وهذا يقودنا إلى أحد المبادئ الأساسية للبرمجة: +*لا تكرر نفسك (Don't repeat yourself)* ، **DRY**. +عندما يكون هناك قيمة أو تعبير أو نفس الجزء من البرنامج بشكل متكرر ، فإن المبرمج الجيد سوف +يسمي هذا الجزء ، ثم يستخدم الاسم عدة مرات. +غالبًا ما يحتاج البرنامج إلى التغيير - إما +هناك خطأ أو تغيرت المهمة. +وبعد ذلك ، يسهل إجراء هذا التغيير في مكان واحد فقط. -On top of that, clear names makes reading the -program much easier: `4 * side` (maybe `squareSide` would be clearer) -doesn't need any comment, but with `4 * 183`, it's not clear what -the numbers mean. +علاوة على ذلك ، فإن الأسماء الواضحة تجعل قراءة البرنامج أسهل: `4 * side` (ربما `squareSide` سيكون أكثر وضوحًا) +لا يحتاج إلى أي تعليق ، ولكن مع `4 * 183` ، ليس من الواضح ما +تعني الأرقام. > [extra-activity] > -> ## Circles +> ## الدوائر (Circles) > -> *This is an extra task! You can skip it.* +> *هذه مهمة إضافية! يمكنك تخطيها.* > -> Change of the task! -> Try to expand the program so that it computes the perimeter and the area of -> a circle where the radius will be the same value as the side length from your code. -> The perimeter of a circle with radius r -> is o = 2πr, the area is S = πr² -> and π is approx. 3.1415926. +> تغيير المهمة! +> حاول توسيع البرنامج بحيث يحسب محيط ومساحة +> دائرة حيث سيكون نصف القطر هو نفس قيمة طول الضلع من كودك. +> محيط دائرة نصف قطرها r +> هو o = 2πr ، المساحة هي S = πr² +> و π تقريبًا 3.1415926. > -> Feel free to use more variables! It's a good practice to first calculate the result. Store it in a variable and then use it in a `print`. +> لا تتردد في استخدام المزيد من المتغيرات! من الجيد أولاً حساب النتيجة. قم بتخزينه في متغير ثم استخدمه في `print`. > -> Name all variables appropriately. +> قم بتسمية جميع المتغيرات بشكل مناسب. > -> ### But wait, there's more -> Python already has some variables (or constants) defined for you. You can put `from math import pi` in the beginning of your program. Now you have a variable `pi` available, which holds the value of π. What exactly is `from math import pi`? You'll learn that during one of the future lessons! +> ### ولكن انتظر ، هناك المزيد +> يحتوي Python بالفعل على بعض المتغيرات (أو الثوابت) المعرفة مسبقًا. يمكنك وضع `from math import pi` في بداية برنامجك. الآن لديك متغير `pi` متاح ، والذي يحتوي على قيمة π. ما هو بالضبط `from math import pi`؟ ستتعلم ذلك خلال أحد الدروس المستقبلية! -## Comments +## التعليقات (Comments) -Now we will make our code clearer with *comments*. -In Python, the comment begins with a Hash (Pound) sign **"#"**, -after which you can write anything until the end of the line. -Everything following this sign is ignored by Python code execution. +الآن سنجعل كودنا أكثر وضوحًا باستخدام *التعليقات*. +في Python ، يبدأ التعليق بعلامة هاش **"#"** ، +بعد ذلك يمكنك كتابة أي شيء حتى نهاية السطر. +يتم تجاهل كل شيء بعد هذه العلامة بواسطة تنفيذ كود Python. -Comments are important! Programs are not read only by computers, but also by other humans. -In your comments, you can include statements like: what the whole program does, -explain how a more complicated part works and clarify something -that is not clear enough. +التعليقات مهمة! لا تقرأ البرامج فقط بواسطة أجهزة الكمبيوتر ، ولكن أيضًا بواسطة البشر الآخرين. +في تعليقاتك ، يمكنك تضمين عبارات مثل: ما الذي يفعله البرنامج بأكمله ، +شرح كيفية عمل جزء أكثر تعقيدًا وتوضيح شيء ما +ليس واضحا بما فيه الكفاية. -Whenever you write a program, try to get into the role of someone who will read it, -and all that may be unclear should be specified in the comments. -Help yourself. After a few months you will not remember what the code is about. +عندما تكتب برنامجًا ، حاول أن تدخل في دور شخص سيقرأه ، +وكل ما قد يكون غير واضح يجب تحديده في التعليقات. +ساعد نفسك. بعد بضعة أشهر لن تتذكر ما هو البرنامج. ```python # This program computes the perimeter and the area of a square @@ -145,49 +140,48 @@ print("The area of a square with a side of", side,"cm is", side * side, "cm2.") ``` > [style-note] -> The convention is that when you write a comment on the same line -> as the code, there are two spaces or more before `#`, -> then after `#` there is one more space. +> الاتفاقية هي أنه عند كتابة تعليق في نفس السطر +> مثل الكود ، يوجد مسافتان أو أكثر قبل `#` ، +> ثم بعد `#` يوجد مسافة واحدة أخرى. -There are many opinionated suggestions how often and where to use comments. -These suggestions also depend on level of experience of programmers contributing to the project. - -Easiest way how to decide in the beginnings where/when to place comments and what should they contain is: +هناك العديد من التفضيلات الشخصية حول متى وأين استخدام التعليقات. +تعتمد هذه التفضيلات أيضًا على مستوى خبرة المبرمجين الذين يساهمون في المشروع. -Comment often and whenever you are not 100% sure about certain part of code that -your future YOU in a few months will understand what it does and why. +أسهل طريقة لتحديد اين و متى وضع التعليقات وما الذي يجب أن يحتويه هو: -## Input +علق كثيرًا وكلما لم تكن متأكدًا بنسبة 100٪ من جزء معين من الكود +ستفهم أنت بعد بضعة أشهر ما يفعله ولماذا. -Finally, we will learn how to improve the program so that we don't have to write the number -in the program - and users can (in)put their own number. +## الإدخال (Input) -Just like you used `print`, we will now use a different *function* -to capture user input: -We will explain the details later, for now, just remember these: +أخيرًا ، سنتعلم كيفية تحسين البرنامج حتى لا نضطر إلى كتابة الرقم +في البرنامج - ويمكن للمستخدمين (إدخال) رقمهم الخاص. -* If you want to retrieve **a text(string)** from the user, use: +تمامًا كما استخدمت `print` ، سنستخدم الآن *دالة (function)* مختلفة +لالتقاط إدخال المستخدم: +سنشرح التفاصيل لاحقًا ، الآن ، فقط تذكر هذه: +* إذا كنت تريد استرداد **نص (string)** من المستخدم ، فاستخدم: ```python variable = input('Enter some text: ') ``` -* If you want to retrieve **a whole number**, use: +* إذا كنت تريد استرداد **رقم صحيح (whole number)** ، فاستخدم: ```python variable = int(input('Enter some whole number: ')) ``` -* If you want to retrieve **a decimal**, use: +* إذا كنت تريد استرداد **رقم عشري (decimal)** ، فاستخدم: ```python variable = float(input('Enter some decimal: ')) ``` -The text inside the parentheses can be tailored according to your needs. -It serves as the text prompt for the user, so use it to ask for any needed info. +يمكن تخصيص النص الموجود داخل الأقواس وفقًا لاحتياجاتك. +يُستخدم كنص مطالبة للمستخدم ، لذا استخدمه لطلب أي معلومات مطلوبة. -And now try to put it all together: Ask user for a side of a square and use the variable as an input to the computation. +والآن حاول جمع كل شيء معًا: اطلب من المستخدم جانبًا للمربع واستخدم المتغير كمدخل للحساب. {% filter solution %} diff --git a/lessons/beginners-en/variables/info.yml b/lessons/beginners-en/variables/info.yml index 5b398276d8..4a4946cbf0 100644 --- a/lessons/beginners-en/variables/info.yml +++ b/lessons/beginners-en/variables/info.yml @@ -1,6 +1,7 @@ -title: Variables +title: المتغيرات (Variables) style: md attribution: + - Translated by Mussab Abdalla - Translated by Marketa Muzikova and Alexandru Dumitru - | Originally written by Petr Viktorin, 2014-2017 for [PyLadies CZ]. diff --git a/runs/2024/pyladies-en-vienna-2024-spring/info.yml b/runs/2024/pyladies-en-vienna-2024-spring/info.yml index e58e6ca9bf..babdd765ac 100644 --- a/runs/2024/pyladies-en-vienna-2024-spring/info.yml +++ b/runs/2024/pyladies-en-vienna-2024-spring/info.yml @@ -66,27 +66,27 @@ plan: - lesson: beginners-en/lesson-1-homework type: homework - title: تمرين Google colab - url: https://drive.google.com/file/d/1KPlvbwGpIe8HQVkancKk6wuTwhV5VkRc + url: https://drive.google.com/file/d/1vjJpP9_PYsAfh4_e90x-NO4x1bbM5bd2 type: cheatsheet - title: مُلخص اختصارات لوحة المفاتيح url: https://drive.google.com/file/d/1Bvnb52oirQDiZ7WI5t4Q8UeCd10-_gpT type: cheatsheet -# - title: First Program, Print -# slug: hello -# date: 2024-12-29 -# materials: -# - lesson: beginners-en/hello-world -# - lesson: beginners-en/print -# - lesson: beginners-en/variables -# - title: Basics cheatsheet -# url: https://github.com/ehmatthes/pcc/releases/download/v1.0.0/beginners_python_cheat_sheet_pcc.pdf -# type: cheatsheet -# - title: VS Code Tips and tricks -# url: https://www.youtube.com/watch?v=fj2tuTIcUys -# type: cheatsheet -# - lesson: beginners-en/lesson-2-homework -# type: homework + - title: البرنامج الأول، (Print) + slug: hello + date: 2024-12-29 + materials: + - lesson: beginners-en/hello-world + - lesson: beginners-en/print + - lesson: beginners-en/variables + - title: Basics cheatsheet + url: https://github.com/ehmatthes/pcc/releases/download/v1.0.0/beginners_python_cheat_sheet_pcc.pdf + type: cheatsheet + - title: VS Code Tips and tricks + url: https://www.youtube.com/watch?v=fj2tuTIcUys + type: cheatsheet + - lesson: beginners-en/lesson-2-homework + type: homework # - title: Conditions, modules and functions # slug: loops