تطبيقات

تسجيل الدخول

  • استخدم الفعل input() لطلب اسم المستخدم (username) و كلمة المرور (password) من المستخدم وخزن كل منهما في متغير مناسب
  • إذا كان اسم المستخدم هو "admin" وكلمة المرور هي "abc123"، اطبع: "Welcome admin"
  • أو إذا كان اسم المستخدم هو "backdoor" وكلمة المرور هي "let me in"، اطبع: "Nobody knows!"
  • خلاف ذلك، اطبع: "Access denied!"
import getpass

username = input("Enter your username: ")
password = getpass.getpass("Enter your password: ")

max_tries = 3
tries = 0

while tries < max_tries:
  if username == "admin" and password == "abc123":
    print("Welcome admin")
    break
  elif username == "backdoor" and password == "let me in":
    print("Nobody knows!")
    break
  else:
    print("Access denied!")
    tries += 1

لاحظ:

  • وجود حلقة while لإعادة المحاولة ثلاث مرات فقط
  • وجود جملة break لإنهاء الحلقة إذا تم التسجيل بنجاح
    • لا توجد break في جزئية else الأخيرة وذلك لأن عدد المحاولات يزيد في كل مرة ليؤول الفعل إلى انتفاء شرط الدوران

حساب مجموع الأعداد المدخلة

هذا البرنامج الصغير يأخذ مجموعة أعداد، واحدًا تلوَ الآخر، ويجمعها جميعًا.

total = 0

while True:
  user_input = input("Enter a number: ")
  if user_input == "quit":
    break
  x = int(user_input)
  total += x
print(total)

إليك شرحه بالتفصيل:

تذكر: أن لكل متغير قيمة. وأن لكل قيمة نوعًا. وأن النوع يحدد ما يقبله المتغير من عمليات.

  • نعين المتغير total = 0 لتجميع النتائج
  • نستعمل حلقة لا نهائية: while True لأننا نريد أن يستمر البرنامج إلى أن يكتب المستخدم quit
  • نطلب من المستخدم أن يدخل عددًا، ونضع ما أدخَل في متغير: user_input
  • هذا المتغير نوعه: str (نصي) لأن الفعل input() يعطينا قيمة نصية
  • إن كان المدخل كلمة quit، نكسر الحلقة بـ: break
  • وإلا:
    • ننشئ قيمة عددية من المتغير user_input باستخدام int(user_input) أو float(user_input) ونعيِّنُ النتيجة في متغير جديد: x
    • نجمع العدد إلى الحاصل: total
    • عندها نكسر الحلقة بكلمة: break

برنامج تفاعلي

inventory = 100

while True:
    print("Store Menu:")
    print("1. Buy Apples")
    print("2. Restock Apples")
    print("3. Exit")

    choice = input("Enter your choice: ")

    if choice == "1":
        quantity = int(input("Enter the quantity of fish to buy: "))

        if quantity <= inventory:
            inventory -= quantity
            print("You bought", quantity, "fish. Remaining inventory:", inventory)
        else:
            print("Insufficient stock. Please try again later.")

    elif choice == "2":
        quantity = int(input("Enter the quantity of fish to restock: "))
        inventory += quantity
        print("Restocked", quantity, "fish. New inventory:", inventory)

    elif choice == "3":
        print("Exiting the store...")
        break

    else:
        print("Invalid choice. Please try again.")

حساب مضروب العدد

\[ !n = n(n-1)(n-2)\cdots 1 \]

i = 5
j = i
while j > 1:
  j -= 1
  i *= j
print(i)
120

شرح للخطوات التنفيذية التفصيلية:

  • أولاً، قم بتعيين المتغير i إلى العدد 5
  • ثانياً، قم بتعيين المتغير j إلى العدد 5
  • ثالثاً، استمر في الدوران إلى أن يصل j إلى القيمة 1
    • في كل دوران، قم بطرح 1 من j
    • ثم قم بضرب i بالقيمة الجديدة لـ j: المتحصل هو أن `i = i * (i - 1)
  • أخيراً، قم بطباعة القيمة النهائية لـ i