أكواد بايثون - python codes
819 subscribers
61 photos
4 files
5 links
Download Telegram
base.apk
10.8 MB
Pyonic Python
برنامج خفيف وجميل لتجريب الأكواد بالبايثون

https://play.google.com/store/apps/details?id=net.inclem.pyonicinterpreter3
👍31
كود لمسابقة من عدة أسئلة (يتم توليد الأسئلة بترتيب عشوائي في كل مرة يتم تشغيل البرنامج) حيث يتم طرح سؤال مع عدة خيارات يطلب من المستخدم إدخال الإجابة الصحيحة
في حال ادخل المستخدم إجابة صحيحة يتم اضافة 10 نقط للرصيد العام وفي حال إدخال إجابة خطأ يتم حذف 10 نقط من الرصيد العام
وفي نهاية البرنامج يتم عرض نتيجة المستخدم
from random import*
def q(x):
global n,v
n=0
v=n
if(x==0):
a=input('''When does summer start? a.March b.June c.September d.December''')
if (a=='b'):
n+=10
else:
n-=10
elif(x==1):
b=input('''When does winter start? a.March b.June c.September d.December''')
if (b=='d'):
n+=10
else:
n-=10
elif(x==2):
c=input('''When does Spring start? a.March b.June c.September d.December''')
if (c=='a'):
n+=10
else:
n-=10
elif(x==3):
d=input('''When does autumn start? a.March b.June c.September d.December''')
if (d=='c'):
n+=10
else:
n-=10

elif(x==4):
e=input('''When does week start? a.Monday b.Friday c.Saturday d.Sunday''')
if (e=='a'):
n+=10
else:
n-=10


a=[0,1,2,3,4]
shuffle(a)
for i in range(len(a)):
q(a[i])
v+=n
print("Your score is: ",v)
v=0
👍21
ممكن استخدام chatgpt لطلب المساعدة بكتابة اي كود.
ويوجد بوت كذلك ممكن يساعدك بواسطة الذكاء الصنعي
طبعا قد تحتاج لتعديلات بسيطة للكود الذي تحصل عليه
@OpenAiChat_bot
2
نتابع في سلسلة الأساسيات بلغة البايثون.
تعريف #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-.
1-في المثال الاول قمنا بتعريف #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 الذي قام باستدعائها.
بعض الدوال في الكلاس #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
 الذي قام باستدعائها.
👍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)
تتمة لبعض الدوال في #set
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")
👍83
#كود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))
#كود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()" في الأمر الأخير.
👍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 باوند إلى كيلوجرام
يمكنك استخدام هذا الكود كنقطة انطلاق لتحويل الوحدات الأخرى. قم بإضافة دوال التحويل الخاصة بالوحدات التي تريد التحويل بينها، والتأكد من إضافة القيم المتقابلة لكل وحدة.
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()
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} نقطة.') # عرض الرصيد النهائي للمستخدم
👍42