امتحان Python 4: الدوال، Lambda، والوحدات (10 تمارين مركبة)
امتحان Python 4: الدوال والوحدات
اختبر قدرتك على كتابة كود قابل لإعادة الاستخدام باستخدام الدوال والوحدات النمطية.
تمرين 1
إنشاء دالة (Creating a Function)
أنشئ دالة بسيطة:
- عرف دالة باسم `my_function`.
- تطبع الدالة "Hello from a function".
- استدعِ الدالة لتنفيذها.
الحل
def my_function():
print("Hello from a function")
my_function()
تمرين 2
الوسائط (Arguments)
مرر بيانات للدالة:
- عرف دالة `my_function` تقبل وسيطاً `fname`.
- تطبع الدالة الاسم متبوعاً بـ "Refsnes".
- استدعها مع الاسم "Emil".
الحل
def my_function(fname):
print(fname + " Refsnes")
my_function("Emil")
تمرين 3
عدد غير محدد من الوسائط (*Args)
تعامل مع عدد متغير من المدخلات:
- عرف دالة تقبل `*kids`.
- اطبع "The youngest child is " متبوعاً بالعنصر الثالث (index 2).
- استدعها مع الأسماء "Emil", "Tobias", "Linus".
الحل
def my_function(*kids):
print("The youngest child is " + kids[2])
my_function("Emil", "Tobias", "Linus")
تمرين 4
الوسائط المفتاحية (**Kwargs)
تعامل مع قاموس من الوسائط:
- عرف دالة تقبل `**kid`.
- اطبع الاسم الأخير للطفل `kid["lname"]`.
- استدعها بـ `fname="Tobias", lname="Refsnes"`.
الحل
def my_function(**kid):
print("His last name is " + kid["lname"])
my_function(fname = "Tobias", lname = "Refsnes")
تمرين 5
القيمة المرجعة (Return Values)
أرجع نتيجة من الدالة:
- عرف دالة `my_function(x)` تعيد `5 * x`.
- اطبع نتيجة استدعاء الدالة مع الرقم 3.
الحل
def my_function(x):
return 5 * x
print(my_function(3))
تمرين 6
دوال Lambda
أنشئ دالة مجهولة:
- أنشئ دالة `lambda` تأخذ `a` وتضيف له 10.
- احفظها في متغير `x`.
- اطبع نتيجة `x(5)`.
الحل
x = lambda a : a + 10
print(x(5))
تمرين 7
الوحدات (Modules)
استخدم مكتبة خارجية:
- استورد وحدة `mymodule` (افترض وجودها).
- استخدمها باسم مستعار `mx`.
- اطبع `mx.person1["age"]`.
الحل
import mymodule as mx
# print(mx.person1["age"])
تمرين 8
التاريخ (Dates)
تعامل مع التواريخ:
- استورد وحدة `datetime`.
- اطبع الوقت الحالي `datetime.datetime.now()`.
- اطبع السنة الحالية فقط.
الحل
import datetime
x = datetime.datetime.now()
print(x)
print(x.year)
تمرين 9
الرياضيات (Math)
استخدم دوال الرياضيات:
- استخدم دوال `min` و `max` لإيجاد أصغر وأكبر رقم في `(5, 10, 25)`.
- استخدم `abs(-7.25)` لإيجاد القيمة المطلقة.
- استخدم `pow(4, 3)` لحساب الأس.
الحل
x = min(5, 10, 25)
y = max(5, 10, 25)
z = abs(-7.25)
p = pow(4, 3)
print(x, y, z, p)
تمرين 10
JSON في بايثون
حول البيانات:
- استورد `json`.
- لديك قاموس `x = {"name": "John", "age": 30}`.
- حوله إلى نص JSON باستخدام `json.dumps(x)`.
- اطبع النتيجة.
الحل
import json
x = {
"name": "John",
"age": 30,
"city": "New York"
}
y = json.dumps(x)
print(y)