نتابع في سلسلة الأساسيات بلغة البايثون.
تعريف #list
* لتعريف list نستخدم الرمز [ ].
بداخل هذا الرمز يمكنك تمرير القيم بشكل مباشر له بشرط وضع فاصلة بين كل عنصرين. و يمكنك تحديد نوع و عدد العناصر التي تريد وضعها فيه فقط
* عند تعريف قائمة يمكن وضع قيمة افتراضية للقائمة سواء ب None او 0
*الوصول لعناصر الـ
list
للوصول لأي عنصر في الـ
list
سواء للحصول على قيمته أو تغييرها فإننا نستخدم رقم الـ Index الخاص بالعنصر.
في بايثون, يمكنك الوصول للعناصر الموجودة في الـ
list
بطريقتين:
في حال أردت الوصول لعناصر الـ
list
من اليسار إلى اليمين, أي من أول عنصر تم إدخاله, فإن الـ Index لأول عنصر سيكون 0.
في حال أردت الوصول لعناصر الـ
list
من اليمين إلى اليسار, أي من آخر عنصر تم إدخاله, فإن الـ Index لآخر عنصر سيكون 1-.
تعريف #list
* لتعريف list نستخدم الرمز [ ].
بداخل هذا الرمز يمكنك تمرير القيم بشكل مباشر له بشرط وضع فاصلة بين كل عنصرين. و يمكنك تحديد نوع و عدد العناصر التي تريد وضعها فيه فقط
* عند تعريف قائمة يمكن وضع قيمة افتراضية للقائمة سواء ب None او 0
*الوصول لعناصر الـ
list
للوصول لأي عنصر في الـ
list
سواء للحصول على قيمته أو تغييرها فإننا نستخدم رقم الـ Index الخاص بالعنصر.
في بايثون, يمكنك الوصول للعناصر الموجودة في الـ
list
بطريقتين:
في حال أردت الوصول لعناصر الـ
list
من اليسار إلى اليمين, أي من أول عنصر تم إدخاله, فإن الـ Index لأول عنصر سيكون 0.
في حال أردت الوصول لعناصر الـ
list
من اليمين إلى اليسار, أي من آخر عنصر تم إدخاله, فإن الـ Index لآخر عنصر سيكون 1-.
👍1
الوصول لعناصر الـ
#list
للوصول لأي عنصر في الـ
list
سواء للحصول على قيمته أو تغييرها فإننا نستخدم رقم الـ Index الخاص بالعنصر.
في بايثون, يمكنك الوصول للعناصر الموجودة في الـ
list
بطريقتين:
في حال أردت الوصول لعناصر الـ
list
من اليسار إلى اليمين, أي من أول عنصر تم إدخاله, فإن الـ Index لأول عنصر سيكون 0.
في حال أردت الوصول لعناصر الـ
list
من اليمين إلى اليسار, أي من آخر عنصر تم إدخاله, فإن الـ Index لآخر عنصر سيكون 1-.
#list
للوصول لأي عنصر في الـ
list
سواء للحصول على قيمته أو تغييرها فإننا نستخدم رقم الـ Index الخاص بالعنصر.
في بايثون, يمكنك الوصول للعناصر الموجودة في الـ
list
بطريقتين:
في حال أردت الوصول لعناصر الـ
list
من اليسار إلى اليمين, أي من أول عنصر تم إدخاله, فإن الـ Index لأول عنصر سيكون 0.
في حال أردت الوصول لعناصر الـ
list
من اليمين إلى اليسار, أي من آخر عنصر تم إدخاله, فإن الـ Index لآخر عنصر سيكون 1-.
1-في المثال الاول قمنا بتعريف #list ووضعنا فيه نصوص. بعدها قمنا بعرض جميع القيم الموضوعة فيه باستخدام الحلقة for.
2-في المثال التالي قمنا بتعريف
list
وضعنا فيه أعداد صحيحة. بعدها قمنا بحساب ناتج جمع جميع القيم الموضوعة فيه باستخدام الحلقة
for
.
2-في المثال التالي قمنا بتعريف
list
وضعنا فيه أعداد صحيحة. بعدها قمنا بحساب ناتج جمع جميع القيم الموضوعة فيه باستخدام الحلقة
for
.
👍2
بعض الدوال في الكلاس #list
إسم الدالة مع تعريفها:
1-الدالة #append(obj)
تستخدم لإضافة عنصر جديد في آخر الـlist الذي قام باستدعائها.
2-الدالة #extend(iterable)
تستخدم لإضافة عناصر مصفوفة من أي نوع في آخر الـlist الذي قام باستدعائها.
3-الدالة #insert(index, obj)
تستخدم لإضافة عنصر جديد في مكان محدد في الـlist الذي قام باستدعائها.
4-الدالة #pop([index])
تستخدم لحذف عنصر محدد في الـlist الذي قام باستدعائها, أو لحذف آخر عنصر موجود فيه.
5-الدالة #clear()
تستخدم لحذف جميع عناصر الـlist الذي قام باستدعائها.
إسم الدالة مع تعريفها:
1-الدالة #append(obj)
تستخدم لإضافة عنصر جديد في آخر الـlist الذي قام باستدعائها.
2-الدالة #extend(iterable)
تستخدم لإضافة عناصر مصفوفة من أي نوع في آخر الـlist الذي قام باستدعائها.
3-الدالة #insert(index, obj)
تستخدم لإضافة عنصر جديد في مكان محدد في الـlist الذي قام باستدعائها.
4-الدالة #pop([index])
تستخدم لحذف عنصر محدد في الـlist الذي قام باستدعائها, أو لحذف آخر عنصر موجود فيه.
5-الدالة #clear()
تستخدم لحذف جميع عناصر الـlist الذي قام باستدعائها.
بعض الدوال في الكلاس #list
6-الدالة #copy()
ترجع نسخة من الـ
list
الذي قام باستدعائها.
7-الدالة #count(x)
تستخدم للبحث في الـ
list
الذي قام باستدعائها عن قيمة معينة.
ترجع عدد صحيح يمثل كم مرة تم إيجاد عنصر عنده نفس القيمة التي مررناها لها مكان البارميتر
x
8-الدالة #remove(x)
تستخدم لحذف أول عنصر يتم إيجاده في الـ
list
الذي قام باستدعائها يملك نفس القيمة التي نمررها لها مكان البارميتر
x
في حال لم يتم العثور على القيمة المراد حذفها ترمي الإستثناء ValueError.
9-الدالة #sort(reverse=False)
تستخدم لترتيب عناصر الـ
list
الذي قام باستدعائها بشكل تصاعدي أو تنازلي.
10-الدالة #reverse(reverse=False)
تستخدم لعكس ترتيب عناصر الـ
list
الذي قام باستدعائها
6-الدالة #copy()
ترجع نسخة من الـ
list
الذي قام باستدعائها.
7-الدالة #count(x)
تستخدم للبحث في الـ
list
الذي قام باستدعائها عن قيمة معينة.
ترجع عدد صحيح يمثل كم مرة تم إيجاد عنصر عنده نفس القيمة التي مررناها لها مكان البارميتر
x
8-الدالة #remove(x)
تستخدم لحذف أول عنصر يتم إيجاده في الـ
list
الذي قام باستدعائها يملك نفس القيمة التي نمررها لها مكان البارميتر
x
في حال لم يتم العثور على القيمة المراد حذفها ترمي الإستثناء ValueError.
9-الدالة #sort(reverse=False)
تستخدم لترتيب عناصر الـ
list
الذي قام باستدعائها بشكل تصاعدي أو تنازلي.
10-الدالة #reverse(reverse=False)
تستخدم لعكس ترتيب عناصر الـ
list
الذي قام باستدعائها
❤1
مفهوم الكلاس #set
الـ set عبارة عن مصفوفة ليس لها حجم ثابت
طريقة تعريف set
لتعريف set نستخدم الرمز { }.
دوال الكلاس set
1-الدالة: #add(elem)
تستخدم لإضافة عنصر جديد في الـمجموعة set الذي قام باستدعائها.
2-الدالة: #discard(elem)
تستخدم لحذف عنصر محدد من الـset
الذي قام باستدعائها.
مكان الباراميتر
elem
نمرر كائن قيمته تطابق قيمة العنصر الذي نريد حذفه.
3-الدالة #remove(elem)
تستخدم لحذف عنصر محدد من الـset الذي قام باستدعائها.
مكان الباراميتر
elem
نمرر كائن قيمته تطابق قيمة العنصر الذي نريد حذفه.
ملاحظة: الفرق بينها و بين الدالة
discard()
أنها ترمي الإستثناء KeyError في حال لم يتم إيجاد عنصر في الـ
set
يملك نفس قيمة الكائن الذي مررناه مكان الباراميتر
elem
4-الدالة #clear()
تستخدم لحذف جميع عناصر الـset الذي قام باستدعائها.
5- الدالة #pop()
تستخدم لإرجاع قيمة عنصر يتم إختياره بشكل عشوائي من الset
الذي قام باستدعائها, بعدها يتم حذفه منه.
6-الدالة #copy()
ترجع نسخة من الـ
set
الذي قام باستدعائها.
الـ set عبارة عن مصفوفة ليس لها حجم ثابت
طريقة تعريف set
لتعريف set نستخدم الرمز { }.
دوال الكلاس set
1-الدالة: #add(elem)
تستخدم لإضافة عنصر جديد في الـمجموعة set الذي قام باستدعائها.
2-الدالة: #discard(elem)
تستخدم لحذف عنصر محدد من الـset
الذي قام باستدعائها.
مكان الباراميتر
elem
نمرر كائن قيمته تطابق قيمة العنصر الذي نريد حذفه.
3-الدالة #remove(elem)
تستخدم لحذف عنصر محدد من الـset الذي قام باستدعائها.
مكان الباراميتر
elem
نمرر كائن قيمته تطابق قيمة العنصر الذي نريد حذفه.
ملاحظة: الفرق بينها و بين الدالة
discard()
أنها ترمي الإستثناء KeyError في حال لم يتم إيجاد عنصر في الـ
set
يملك نفس قيمة الكائن الذي مررناه مكان الباراميتر
elem
4-الدالة #clear()
تستخدم لحذف جميع عناصر الـset الذي قام باستدعائها.
5- الدالة #pop()
تستخدم لإرجاع قيمة عنصر يتم إختياره بشكل عشوائي من الset
الذي قام باستدعائها, بعدها يتم حذفه منه.
6-الدالة #copy()
ترجع نسخة من الـ
set
الذي قام باستدعائها.
👍1
تتمة لبعض الدوال في #set
7-الدالة #difference()
تعريفها
ترجع set جديد يحتوي على العناصر الموجودة في الـset الذي قام باستدعائها و الغير موجودة في كل #set نمرره لها مكان الباراميتر sets*.
بناؤها
set.difference(*sets)
8-الدالة #difference_update()
تعريفها
تستخدم هذه الدالة لحذف مجموعة عناصر من الـset الذي قام باستدعائها.
فعلياً, عند إستدعائها نمرر لها مكان الباراميتر *sets كائن set أو أكثر يحتوون على مجموعة العناصر التي نريد حذفها من الـset الذي قام باستدعائها في حال كانت موجودة فيها
بناؤها
set.difference_update(*sets)
======================
a={1,2,3,4,5,6,7,8}
b={1,3,5,7}
c={8,6}
print('a=',a)
print('a.difference(b,c)=',a.difference(b,c))
a.difference_update(b,c)
print('After a.difference_update(b,c)=',a)
7-الدالة #difference()
تعريفها
ترجع set جديد يحتوي على العناصر الموجودة في الـset الذي قام باستدعائها و الغير موجودة في كل #set نمرره لها مكان الباراميتر sets*.
بناؤها
set.difference(*sets)
8-الدالة #difference_update()
تعريفها
تستخدم هذه الدالة لحذف مجموعة عناصر من الـset الذي قام باستدعائها.
فعلياً, عند إستدعائها نمرر لها مكان الباراميتر *sets كائن set أو أكثر يحتوون على مجموعة العناصر التي نريد حذفها من الـset الذي قام باستدعائها في حال كانت موجودة فيها
بناؤها
set.difference_update(*sets)
======================
a={1,2,3,4,5,6,7,8}
b={1,3,5,7}
c={8,6}
print('a=',a)
print('a.difference(b,c)=',a.difference(b,c))
a.difference_update(b,c)
print('After a.difference_update(b,c)=',a)
تتمة لبعض الدوال في #set
9-الدالة #intersection()
تعريفها
ترجع set جديد يحتوي على العناصر الموجودة في الـset الذي قام باستدعائها و في كل set نمرره لها مكان الباراميتر sets*.
بناؤها
set.intersection(*sets)
10-الدالة #intersection_update()
تعريفها
تستخدم هذه الدالة لحذف مجموعة عناصر من الـ
set
الذي قام باستدعائها.
فعلياً, عند إستدعائها نمرر لها مكان الباراميتر
*sets
كائن
set
أو أكثر يحتوون على مجموعة العناصر التي لا نريد أن يتم حذفها من الـ
set
الذي قام باستدعائها في حال كانت موجودة فيه.
بناؤها
set.intersection_update(anotherSet)
9-الدالة #intersection()
تعريفها
ترجع set جديد يحتوي على العناصر الموجودة في الـset الذي قام باستدعائها و في كل set نمرره لها مكان الباراميتر sets*.
بناؤها
set.intersection(*sets)
10-الدالة #intersection_update()
تعريفها
تستخدم هذه الدالة لحذف مجموعة عناصر من الـ
set
الذي قام باستدعائها.
فعلياً, عند إستدعائها نمرر لها مكان الباراميتر
*sets
كائن
set
أو أكثر يحتوون على مجموعة العناصر التي لا نريد أن يتم حذفها من الـ
set
الذي قام باستدعائها في حال كانت موجودة فيه.
بناؤها
set.intersection_update(anotherSet)
❤1👍1
#كود1 آلة حاسبة بسيطة:
انشاء دوال جمع وطرح وضرب وقسمة
def add(x, y):
return x + y
def subtract(x, y):
return x - y
def multiply(x,y):
return x * y
def divide(x, y):
return x / y
# طباعة قائمة الخيارات
print("Select operation")
print("1.Add")
print("2.Subtract")
print("3.Multiply")
print("4.Divide")
# اختيار العملية المطلوبة من المستخدم
choice = input('''Enter choice:
1 for add
2 for subtract
3 for multiply
4 for divide''')
num1 = float(input("Enter first number: "))
num2 = float(input("Enter second number: "))
if choice == '1':
print(num1,"+",num2,"=", add(num1,num2))
elif choice == '2':
print(num1,"-",num2,"=", subtract(num1,num2))
elif choice == '3':
print(num1,"*",num2,"=", multiply(num1,num2))
elif choice == '4':
print(num1,"/",num2,"=", divide(num1,num2))
else:
print("Invalid input")
انشاء دوال جمع وطرح وضرب وقسمة
def add(x, y):
return x + y
def subtract(x, y):
return x - y
def multiply(x,y):
return x * y
def divide(x, y):
return x / y
# طباعة قائمة الخيارات
print("Select operation")
print("1.Add")
print("2.Subtract")
print("3.Multiply")
print("4.Divide")
# اختيار العملية المطلوبة من المستخدم
choice = input('''Enter choice:
1 for add
2 for subtract
3 for multiply
4 for divide''')
num1 = float(input("Enter first number: "))
num2 = float(input("Enter second number: "))
if choice == '1':
print(num1,"+",num2,"=", add(num1,num2))
elif choice == '2':
print(num1,"-",num2,"=", subtract(num1,num2))
elif choice == '3':
print(num1,"*",num2,"=", multiply(num1,num2))
elif choice == '4':
print(num1,"/",num2,"=", divide(num1,num2))
else:
print("Invalid input")
👍8❤3
#كود2 برنامج بسيط لحل معادلات من الدرجة الثانية
import cmath
a = float(input("Enter the coefficient of x^2: "))
b = float(input("Enter the coefficient of x: "))
c = float(input("Enter the constant term: "))
d = (b**2) - (4*a*c)
sol1 = (-b-cmath.sqrt(d))/(2*a)
sol2 = (-b+cmath.sqrt(d))/(2*a)
print('The solutions are {0} and {1}'.format(sol1,sol2))
import cmath
a = float(input("Enter the coefficient of x^2: "))
b = float(input("Enter the coefficient of x: "))
c = float(input("Enter the constant term: "))
d = (b**2) - (4*a*c)
sol1 = (-b-cmath.sqrt(d))/(2*a)
sol2 = (-b+cmath.sqrt(d))/(2*a)
print('The solutions are {0} and {1}'.format(sol1,sol2))
#كود3 لإنشاء كلمات مرور عشوائية
--------------------------------
import random
import string
def generate_password(length):
letters = string.ascii_letters + string.digits + string.punctuation
return ''.join(random.choice(letters) for i in range(length))
print(generate_password(12)) # سيعيد البرنامج كلمة مرور عشوائية من 12 حرفًا
--------------------------------
يمكنك تغيير العدد الذي يمثل طول كلمة المرور بتغيير الرقم الموجود بالدالة الأخيرة "generate_password()" في الأمر الأخير.
--------------------------------
import random
import string
def generate_password(length):
letters = string.ascii_letters + string.digits + string.punctuation
return ''.join(random.choice(letters) for i in range(length))
print(generate_password(12)) # سيعيد البرنامج كلمة مرور عشوائية من 12 حرفًا
--------------------------------
يمكنك تغيير العدد الذي يمثل طول كلمة المرور بتغيير الرقم الموجود بالدالة الأخيرة "generate_password()" في الأمر الأخير.
👍1
#كود4 لإنشاء برنامج يمكنه التحويل بين وحدات الأطوال والحجوم والأوزان:
# تعريف دالة تحويل الأطوال
def convert_length(value, from_unit, to_unit):
conversions = {
"cm-m": 0.01,
"m-cm": 100,
"m-km": 0.001,
"km-m": 1000,
"km-ft": 3280.84,
"ft-km": 0.0003048
}
return value * conversions[f"{from_unit}-{to_unit}"]
# تعريف دالة تحويل الحجوم
def convert_volume(value, from_unit, to_unit):
conversions = {
"ml-l": 0.001,
"l-ml": 1000,
"l-gal": 0.264172,
"gal-l": 3.78541,
"gal-pt": 8,
"pt-gal": 0.125,
}
return value * conversions[f"{from_unit}-{to_unit}"]
# تعريف دالة تحويل الأوزان
def convert_weight(value, from_unit, to_unit):
conversions = {
"g-kg": 0.001,
"kg-g": 1000,
"kg-lbs": 2.20462,
"lbs-kg": 0.453592,
"lbs-oz": 16,
"oz-lbs": 0.0625,
}
return value * conversions[f"{from_unit}-{to_unit}"]
# استدعاء دالة التحويل بين الأطوال
print(convert_length(1, "km", "ft")) # تحويل 1 متر إلى قدم
print(convert_length(2, "km", "m")) # تحويل 2 كيلومتر إلى متر
# استدعاء دالة التحويل بين الحجوم
print(convert_volume(500, "ml", "l")) # تحويل 500 مل إلى لتر
print(convert_volume(1, "gal", "l")) # تحويل 1 جالون إلى لتر
# استدعاء دالة التحويل بين الأوزان
print(convert_weight(1000, "g", "kg")) # تحويل 1000 غرام إلى كيلوجرام
print(convert_weight(2.2, "lbs", "kg")) # تحويل 2.2 باوند إلى كيلوجرام
يمكنك استخدام هذا الكود كنقطة انطلاق لتحويل الوحدات الأخرى. قم بإضافة دوال التحويل الخاصة بالوحدات التي تريد التحويل بينها، والتأكد من إضافة القيم المتقابلة لكل وحدة.
# تعريف دالة تحويل الأطوال
def convert_length(value, from_unit, to_unit):
conversions = {
"cm-m": 0.01,
"m-cm": 100,
"m-km": 0.001,
"km-m": 1000,
"km-ft": 3280.84,
"ft-km": 0.0003048
}
return value * conversions[f"{from_unit}-{to_unit}"]
# تعريف دالة تحويل الحجوم
def convert_volume(value, from_unit, to_unit):
conversions = {
"ml-l": 0.001,
"l-ml": 1000,
"l-gal": 0.264172,
"gal-l": 3.78541,
"gal-pt": 8,
"pt-gal": 0.125,
}
return value * conversions[f"{from_unit}-{to_unit}"]
# تعريف دالة تحويل الأوزان
def convert_weight(value, from_unit, to_unit):
conversions = {
"g-kg": 0.001,
"kg-g": 1000,
"kg-lbs": 2.20462,
"lbs-kg": 0.453592,
"lbs-oz": 16,
"oz-lbs": 0.0625,
}
return value * conversions[f"{from_unit}-{to_unit}"]
# استدعاء دالة التحويل بين الأطوال
print(convert_length(1, "km", "ft")) # تحويل 1 متر إلى قدم
print(convert_length(2, "km", "m")) # تحويل 2 كيلومتر إلى متر
# استدعاء دالة التحويل بين الحجوم
print(convert_volume(500, "ml", "l")) # تحويل 500 مل إلى لتر
print(convert_volume(1, "gal", "l")) # تحويل 1 جالون إلى لتر
# استدعاء دالة التحويل بين الأوزان
print(convert_weight(1000, "g", "kg")) # تحويل 1000 غرام إلى كيلوجرام
print(convert_weight(2.2, "lbs", "kg")) # تحويل 2.2 باوند إلى كيلوجرام
يمكنك استخدام هذا الكود كنقطة انطلاق لتحويل الوحدات الأخرى. قم بإضافة دوال التحويل الخاصة بالوحدات التي تريد التحويل بينها، والتأكد من إضافة القيم المتقابلة لكل وحدة.
❤1👍1
#كود5 برنامج يقوم بحساب تيار المحرك للمحركات أحادية الطور وثلاثية الطور وقطر السلك المناسب لتغذية المحرك بحيث ان يكون هبطو الجهد اقل من 5% بعد معرفة البيانات الأساسية للمحرك، وهي قدرة المحرك، وجهد التغذية، ومعامل الأداء، وكفاءة المحرك، والمسافة بين المحرك ومصدر التغذية، ونوع الكابل ونوع المحرك أحادي الطوراو ثلاثي الطور
------ ------- ----- ------ ------- ----- ------ ------- -----
import math
# البيانات الأساسية للمحرك
power = float(input("أدخل قدرة المحرك (بالكيلووات): "))
voltage = float(input("أدخل جهد التغذية (بالفولت): "))
power_factor = float(input("أدخل معامل الأداء: "))
efficiency = float(input("أدخل كفاءة المحرك: "))
distance = float(input("أدخل المسافة بين المحرك ومصدر التغذية (بالمتر): "))
cable_type = str(input("أدخل نوع الكابل (نحاسي / ألومنيومي): "))
motor_type = str(input("أدخل نوع المحرك (أحادي الطور / ثلاثي الطور): "))
# حساب تيار المحرك
if motor_type == "أحادي الطور":
current = (power * 1000) / (voltage * power_factor * efficiency)
print("تيار المحرك: ", round(current, 2), "أمبير")
# حساب قطر السلك المناسب
if cable_type == "نحاسي":
resistivity = 0.0178 # أوم / مم^2 / متر
elif cable_type == "ألومنيومي":
resistivity = 0.0283 # أوم / مم^2 / متر
else:
print("خطأ: نوع الكابل غير صحيح")
exit()
cable_area = (2 * current * distance * resistivity) / (voltage * 0.05)
cable_diameter = math.sqrt(cable_area / math.pi) * 2
print("قطر السلك المناسب: ", round(cable_diameter, 2), "مم")
elif motor_type == "ثلاثي الطور":
# الطريقة الأولى لحساب تيار المحرك
current = (power * 1000) / (1.732 * voltage * power_factor * efficiency)
print("تيار المحرك: ", round(current, 2), "أمبير")
# الطريقة الثانية لحساب تيار المحرك
# current = (power * 1000) / (voltage * power_factor * efficiency * 0.8)
# حساب قطر السلك المناسب
if cable_type == "نحاسي":
resistivity = 0.0178 # أوم / مم^2 / متر
elif cable_type == "ألومنيومي":
resistivity = 0.0283 # أوم / مم^2 / متر
else:
print("خطأ: نوع الكابل غير صحيح")
exit()
cable_area = (1.732 * current * distance * resistivity) / (voltage * 0.05)
cable_diameter = math.sqrt(cable_area / math.pi) * 2
print("قطر السلك المناسب: ", round(cable_diameter, 2), "مم")
else:
print("خطأ: نوع المحرك غير صحيح")
exit()
------ ------- ----- ------ ------- ----- ------ ------- -----
import math
# البيانات الأساسية للمحرك
power = float(input("أدخل قدرة المحرك (بالكيلووات): "))
voltage = float(input("أدخل جهد التغذية (بالفولت): "))
power_factor = float(input("أدخل معامل الأداء: "))
efficiency = float(input("أدخل كفاءة المحرك: "))
distance = float(input("أدخل المسافة بين المحرك ومصدر التغذية (بالمتر): "))
cable_type = str(input("أدخل نوع الكابل (نحاسي / ألومنيومي): "))
motor_type = str(input("أدخل نوع المحرك (أحادي الطور / ثلاثي الطور): "))
# حساب تيار المحرك
if motor_type == "أحادي الطور":
current = (power * 1000) / (voltage * power_factor * efficiency)
print("تيار المحرك: ", round(current, 2), "أمبير")
# حساب قطر السلك المناسب
if cable_type == "نحاسي":
resistivity = 0.0178 # أوم / مم^2 / متر
elif cable_type == "ألومنيومي":
resistivity = 0.0283 # أوم / مم^2 / متر
else:
print("خطأ: نوع الكابل غير صحيح")
exit()
cable_area = (2 * current * distance * resistivity) / (voltage * 0.05)
cable_diameter = math.sqrt(cable_area / math.pi) * 2
print("قطر السلك المناسب: ", round(cable_diameter, 2), "مم")
elif motor_type == "ثلاثي الطور":
# الطريقة الأولى لحساب تيار المحرك
current = (power * 1000) / (1.732 * voltage * power_factor * efficiency)
print("تيار المحرك: ", round(current, 2), "أمبير")
# الطريقة الثانية لحساب تيار المحرك
# current = (power * 1000) / (voltage * power_factor * efficiency * 0.8)
# حساب قطر السلك المناسب
if cable_type == "نحاسي":
resistivity = 0.0178 # أوم / مم^2 / متر
elif cable_type == "ألومنيومي":
resistivity = 0.0283 # أوم / مم^2 / متر
else:
print("خطأ: نوع الكابل غير صحيح")
exit()
cable_area = (1.732 * current * distance * resistivity) / (voltage * 0.05)
cable_diameter = math.sqrt(cable_area / math.pi) * 2
print("قطر السلك المناسب: ", round(cable_diameter, 2), "مم")
else:
print("خطأ: نوع المحرك غير صحيح")
exit()
❤2👍2👏1
#كود6 بلغة البايثون لبرنامج مسابقات بحيث يكون عدة اسئلة مع التبديل العشوائي لترتيب الاسئلة في كل مرة يتم تشغيل البرنامج ولكل سؤال ٣ خيارات ايضا يتم التبديل بشكل عشوائي بترتيب خيارات الجواب و احدى هذه الخيارات يكون صح وفي حال اختار المستخدم الجواب الصح يزيد رصيده من النقاط ١٠ وفي حال اخطأ لايتم اضافة اي نقاط.
import random
questions = [
{
"question": "ما هي عاصمة السعودية؟",
"options": ["جدة", "الرياض", "الدمام"],
"answer": "الرياض"
},
{
"question": "ما هي عاصمة مصر؟",
"options": ["الجيزة", "الإسكندرية", "القاهرة"],
"answer": "القاهرة"
},
{
"question": "ما هو الحيوان الذي يطير؟",
"options": ["الحمام", "النسر", "الحصان"],
"answer": "النسر"
}
]
random.shuffle(questions)
score = 0
for question in questions:
print(question["question"])
random.shuffle(question["options"])
for i, option in enumerate(question["options"]):
print(f"{i+1}. {option}")
user_answer = input("اختر الجواب الصحيح (1-3): ")
if question["options"][int(user_answer)-1] == question["answer"]:
print("إجابة صحيحة!")
score += 10
else:
print("إجابة خاطئة!")
print(f"تم انهاء الاختبار، نقاطك: {score}")
-----------------------------
---- ---- ---- --- --- ---- ---- ---- --- ---
import random
# قائمة الأسئلة والإجابات الصحيحة والخيارات العشوائية
questions = ['ما هو عاصمة فرنسا؟', 'ما هي لغة البرمجة التي تستخدم في تطوير تطبيقات الأندرويد؟', 'ما هو لون الشعار الأساسي لشركة أبل؟']
correct_answers = ['باريس', 'جافا', 'رمادي']
options = [['لندن', 'باريس', 'برلين'], ['جافا', 'بيثون', 'سويفت'], ['أخضر', 'رمادي', 'أسود']]
score = 0
# تنسيق الأسئلة والخيارات
for i in range(len(questions)):
print(f'السؤال رقم {i + 1}: {questions[i]}')
random_options = random.sample(options[i], len(options[i]))
for j in range(len(random_options)):
print(f'{j + 1}. {random_options[j]}')
user_answer = int(input('اختر الإجابة الصحيحة (1-3): '))
if random_options[user_answer - 1] == correct_answers[i]:
score += 10 # إذا كانت الإجابة صحيحة، زيد الرصيد بمقدار 10 نقاط
print('إجابة صحيحة!')
else:
print('إجابة خاطئة :(')
print(f'لقد انتهت المسابقة، شكراً على المشاركة :) \nرصيدك النهائي هو {score} نقطة.') # عرض الرصيد النهائي للمستخدم
import random
questions = [
{
"question": "ما هي عاصمة السعودية؟",
"options": ["جدة", "الرياض", "الدمام"],
"answer": "الرياض"
},
{
"question": "ما هي عاصمة مصر؟",
"options": ["الجيزة", "الإسكندرية", "القاهرة"],
"answer": "القاهرة"
},
{
"question": "ما هو الحيوان الذي يطير؟",
"options": ["الحمام", "النسر", "الحصان"],
"answer": "النسر"
}
]
random.shuffle(questions)
score = 0
for question in questions:
print(question["question"])
random.shuffle(question["options"])
for i, option in enumerate(question["options"]):
print(f"{i+1}. {option}")
user_answer = input("اختر الجواب الصحيح (1-3): ")
if question["options"][int(user_answer)-1] == question["answer"]:
print("إجابة صحيحة!")
score += 10
else:
print("إجابة خاطئة!")
print(f"تم انهاء الاختبار، نقاطك: {score}")
-----------------------------
---- ---- ---- --- --- ---- ---- ---- --- ---
import random
# قائمة الأسئلة والإجابات الصحيحة والخيارات العشوائية
questions = ['ما هو عاصمة فرنسا؟', 'ما هي لغة البرمجة التي تستخدم في تطوير تطبيقات الأندرويد؟', 'ما هو لون الشعار الأساسي لشركة أبل؟']
correct_answers = ['باريس', 'جافا', 'رمادي']
options = [['لندن', 'باريس', 'برلين'], ['جافا', 'بيثون', 'سويفت'], ['أخضر', 'رمادي', 'أسود']]
score = 0
# تنسيق الأسئلة والخيارات
for i in range(len(questions)):
print(f'السؤال رقم {i + 1}: {questions[i]}')
random_options = random.sample(options[i], len(options[i]))
for j in range(len(random_options)):
print(f'{j + 1}. {random_options[j]}')
user_answer = int(input('اختر الإجابة الصحيحة (1-3): '))
if random_options[user_answer - 1] == correct_answers[i]:
score += 10 # إذا كانت الإجابة صحيحة، زيد الرصيد بمقدار 10 نقاط
print('إجابة صحيحة!')
else:
print('إجابة خاطئة :(')
print(f'لقد انتهت المسابقة، شكراً على المشاركة :) \nرصيدك النهائي هو {score} نقطة.') # عرض الرصيد النهائي للمستخدم
👍4❤2
#كود7 لعبة التخمين يختار فيه الكمبيوتر رقمًا عشوائيًا. ثم يحصل المستخدمون على تلميح لتخمين الرقم. في كل مرة يخمن فيها اللاعبون الرقم الخطأ ، تنخفض درجاتهم ويصبح بإمكانهم اختيار دليل آخر. سيحتاجون إلى وظائف لمقارنة الرقم المُدخَل مع الرقم المُخمن لحساب الفرق بين الاثنين ، ثم التحقق مما إذا كان يمكن استخدام الرقم في مشروع بايثون أم لا.
----------------------------------------
import random
def play_game():
computer_choice = random.randint(1, 100)
attempts = 0
points = 100
while True:
user_choice = int(input("Enter a number between 1 and 100: "))
difference = abs(user_choice - computer_choice)
if difference == 0:
print("Congratulations! You guessed the number in", attempts, "attempts.")
return points
else:
print("Incorrect guess. Try again.")
if difference <= 10:
print("Hint: You're very close!")
elif difference <= 20:
print("Hint: You're getting closer!")
else:
print("Hint: You're far away from the number.")
points -= 10
if attempts == 5:
print("You've used all your attempts. The number was", computer_choice)
return 0
attempts += 1
print("Welcome to the number guessing game!")
name = input("Please enter your name: ")
print("Hello", name, "let's begin the game.")
score = play_game()
print("Your score is", score)
----------------------------------------
import random
def play_game():
computer_choice = random.randint(1, 100)
attempts = 0
points = 100
while True:
user_choice = int(input("Enter a number between 1 and 100: "))
difference = abs(user_choice - computer_choice)
if difference == 0:
print("Congratulations! You guessed the number in", attempts, "attempts.")
return points
else:
print("Incorrect guess. Try again.")
if difference <= 10:
print("Hint: You're very close!")
elif difference <= 20:
print("Hint: You're getting closer!")
else:
print("Hint: You're far away from the number.")
points -= 10
if attempts == 5:
print("You've used all your attempts. The number was", computer_choice)
return 0
attempts += 1
print("Welcome to the number guessing game!")
name = input("Please enter your name: ")
print("Hello", name, "let's begin the game.")
score = play_game()
print("Your score is", score)
❤9👍2
ماهية صيغة #f_string في لغة البرمجة بايثون.؟
f-string هي اختصار لـ "formatted string literals"
وهي طريقة جديدة لإنشاء سلاسل نصية (strings) مُهيأة (formatted) في Python 3.6 وما بعدها.
تعمل f-strings عن طريق إضافة حرف f قبل السلسلة النصية (string)، مثل هذا المثال:
سينتج عن هذا المثال السطر التالي:
في هذا المثال، تم إنشاء سلسلة نصية (string) وإضافة قيمتين مهيأتين (formatted) داخلها باستخدام الأقواس المتكونة من فتحية وغلقية ({}) مع وضع القيم الخاصة بهما داخلهما، وذلك باستخدام الـ f-strings.
يمكن أيضًا استخدام الـ f-strings مع التعابير الرياضية والدوال، على سبيل المثال:
سينتج عن هذا المثال السطر التالي:
وكما ترى، فإن f-strings تسهل كتابة السلاسل النصية المُهيأة وتجعل الشفافية والوضوح أسهل عند عملية القراءة والصيانة.
f-string هي اختصار لـ "formatted string literals"
وهي طريقة جديدة لإنشاء سلاسل نصية (strings) مُهيأة (formatted) في Python 3.6 وما بعدها.
تعمل f-strings عن طريق إضافة حرف f قبل السلسلة النصية (string)، مثل هذا المثال:
name = "John"
age = 30
message = f"My name is {name} and I'm {age} years old."
print(message)
سينتج عن هذا المثال السطر التالي:
My name is John and I'm 30 years old.
في هذا المثال، تم إنشاء سلسلة نصية (string) وإضافة قيمتين مهيأتين (formatted) داخلها باستخدام الأقواس المتكونة من فتحية وغلقية ({}) مع وضع القيم الخاصة بهما داخلهما، وذلك باستخدام الـ f-strings.
يمكن أيضًا استخدام الـ f-strings مع التعابير الرياضية والدوال، على سبيل المثال:
num1 = 10
num2 = 20
result = f"The sum of {num1} and {num2} is {num1 + num2}."
print(result)
سينتج عن هذا المثال السطر التالي:
The sum of 10 and 20 is 30.
وكما ترى، فإن f-strings تسهل كتابة السلاسل النصية المُهيأة وتجعل الشفافية والوضوح أسهل عند عملية القراءة والصيانة.
❤2👍1
هناك عدة أنماط يمكن استخدامها مع f-strings، وفيما يلي بعض الأمثلة:
1- تمرير متغيرات داخل الأقواس المتكونة من فتحية وغلقية:
My name is JOHN and I'm 60 years old.
2- تمرير قيم ثابتة داخل الأقواس المتكونة من فتحية وغلقية:
5 multiplied by 5 is 25
3- تمرير متغيرات مع إضافة قيم افتراضية في حال عدم وجودها:
Hello, John! Your balance is 1000.50.
في هذا المثال، تم تحديد أن يتم عرض الرقم العشري بدقتين فقط (:.2f)، وكما ترى تم إضافة رقم افتراضي للرصيد في حال عدم وجوده.
4- تمرير تعابير شرطية داخل الأقواس المتكونة من فتحية وغلقية:
The number is even.
وفي هذا المثال، تم استخدام تعبير شرطي لتحديد نوع العدد (زوجي/فردي) وإظهاره داخل السلسلة النصية.
وهكذا، يمكن استخدام عدة أنماط لتكوين f-strings في بايثون، وذلك بحسب الحاجة والغرض المطلوب.
1- تمرير متغيرات داخل الأقواس المتكونة من فتحية وغلقية:
name = "John"
age = 30
message = f"My name is {name.upper()} and I'm {age*2} years old."
print(message)
النتيجة:
My name is JOHN and I'm 60 years old.
2- تمرير قيم ثابتة داخل الأقواس المتكونة من فتحية وغلقية:
message = f"5 multiplied by 5 is {5*5}"
print(message)
النتيجة:
5 multiplied by 5 is 25
3- تمرير متغيرات مع إضافة قيم افتراضية في حال عدم وجودها:
name = "John"
message = f"Hello, {name}! Your balance is {1000.50:.2f}."
print(message)
النتيجة:
Hello, John! Your balance is 1000.50.
في هذا المثال، تم تحديد أن يتم عرض الرقم العشري بدقتين فقط (:.2f)، وكما ترى تم إضافة رقم افتراضي للرصيد في حال عدم وجوده.
4- تمرير تعابير شرطية داخل الأقواس المتكونة من فتحية وغلقية:
number = 10
message = f"The number is {'even' if number%2 == 0 else 'odd'}."
print(message)
النتيجة:
The number is even.
وفي هذا المثال، تم استخدام تعبير شرطي لتحديد نوع العدد (زوجي/فردي) وإظهاره داخل السلسلة النصية.
وهكذا، يمكن استخدام عدة أنماط لتكوين f-strings في بايثون، وذلك بحسب الحاجة والغرض المطلوب.
❤6👍4