مسائل
سلة مشتريات
لديك قائمة بالفواكه وأسعارها.
ولديك سلة مشتريات تريد أن تحسب مجموعها.
اكتب فعلاً يحسب مجموع السلة:
def calculate_total_price(shopping_list: list[str]) -> float:
"""Calculate the total price of the shopping list."""
pass
الاختبار:
متوسط المبيعات اليومية
daily_sales = [
10, 12, 10, 15, 13, 14, 10,
19, 14, 12, 8, 10, 11, 12,
14, 15, 14, 14, 10, 5, 13,
8, 20, 19, 15, 14, 13, 12,
]
احسب ما يلي:
- عدد الأيام
- يمكنك استعمال الفعل
len()
- يمكنك استعمال الفعل
- مجموع المبيعات لكل أسبوع على حدة
- يمكنك استعمال الفعل
sum()
واستعمال الإشارة بقطعة[:7]
للأسبوع الأول
- يمكنك استعمال الفعل
- متوسط المبيعات لكل أسبوع على حدة والانحراف المعياري
- يمكنك استعمال الفعل
statistics.mean()
وstatistics.stdev()
- يمكنك استعمال الفعل
- متوسط المبيعات خلال الشهر والانحراف المعياري
ضرب متجهين
يوصف ضرب المتجهين بالصيغة:
\[ \vec{u} \cdot \vec{v} = \sum_{i=1}^{n} u_i v_i \]
أي أن كل عنصر من المتجه الأول يضرب في العنصر المناظر له في المتجه الثاني، ويُجْمَعُ ناتج ذلك كله.
def dot_product(v: list[float], u: list[float]) -> float:
"""Calculate the dot product of two vectors."""
pass
الاختبار:
توزيع الفرق
بحسب حجم المجموعة
لديك قائمة من الأسماء وتريد توزيعها إلى مجموعات حيث group_size
هو حجم المجموعة الواحدة:
افترض أن هذه القائمة التي لديك:
Ahmad
Mohannad
Mohammed
Salem
Ali
Samir
الاختبارات
بحسب عدد المجموعات
نريد الآن توزيعها بحسب عدد المجموعات group_count
:
الاختبار:
دمج الاثنين في فعل واحد
هل يمكنك جعل كلا الأمرين في فعل واحد؟ بحيث:
- لو تم تعيين
group_size
فإنه يتم توزيع العناصر بحسب حجم المجموعة - لو تم تعيين
group_count
فإنه يتم توزيع العناصر بحسب عدد المجموعات
ضم الأقران
ماذا لو أردت أن تضم قائمة من الأشخاص بحيث يكون فارق العمر بينهم أقل ما يمكن؟
Ahmad: 24
Mohannad: 17
Mohammed: 16
Salem: 32
Ali: 26
Samir: 31
peers = [
("Ahmad", 24),
("Mohannad", 17),
("Mohammed", 16),
("Salem", 32),
("Ali", 26),
("Samir", 31),
]
def make_pairs_by_age_diff(items: list[tuple[str, int]]) -> list[tuple[str, str]]:
"""Make pairs of people by their age difference minimum."""
pass
الاختبارات