اذهب إلى المحتوى
  • 0

التعامل مع السلاسل و القوائم و المصفوفات و القيم النصية بلغة بايثون strings in python

شمس رائد

السؤال

1-اكتب ي دالة تقوم بحساب مضروب الرقم, المضروب هو حاصل ضرب الرقم في كل الأرقام   السابقة له .

 مثلا:

 مضروب ال 3 هو 6 )3*2*1(

 مضروب ال 4 هو 24)4 *3*2*1( و هكذ ا

 

2- قومي بتنفيذ ما يلي على المصفوفة التالية:

[11,12,15,14,9,6,8,7,5,10,1,2,13,4,3]

-         رتبي المصفوفة تصاعدي ا  

-         أوجدي أكبر و أصغر عنصر داخل المصفوف ة

-         احذفي الأرقام الأكبر من 10 و الفردية في نفس الوق ت

-         احذفي الارقام المحصورة بين الرقم الثالث و الساب ع

 

3- قومي بتنفيذ ما يلي على المصفوفة التالية:

["my" , "name" , "is" , "aya"]

-         حولي المصفوفة إلى نص مفصول بمسافا ت كالتالي  =<My name is aya      

-         و من ثم قومي بتجزئة النص الناتج  بنا ء على المسافة و تحويله إلى مصفوفة مماثلة للأصل.  

 

4-اكتبي برنامج يقوم بفحص صحة كلمة المرور المدخلة من قبل المستخدم بحيث تنطبق الشروط التالية على كلمة المرور:

تحتوي رقم واحد على الأقل.  

-         تحتوي على حرف واحد كبير و حرف واحد صغير على الأقل.  

-         أن يكون طول الكلمة ما بين 6 الى 20.  

-         أن تحتوي على رمز واحد على الأقل من الرموز التالية) '%' ,'#' ,'@' ,'$'(

اذا اختل شر ط أو أكث ر من الشروط السابقة يجب اظهار رسالة توضح للمستخدم الخلل

تم التعديل في بواسطة Wael Aljamal
توضيح السؤال
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

مرحبا،

السؤال الأول:

حساب العاملي لعدد ما، هو الضرب المتكرر للأعداد من 1 حتى هذا العدد وتكتب هكذا:

factorial = 10
result = 1
for num in range(1, factorial+1):  # المجال من 1 حتى العدد المطلوب
    result *= num
print(result)

السؤال الثاني:

l = [11,12,15,14,9,6,8,7,5,10,1,2,13,4,3]
# الترتيب
l = sorted(l)
print(l) 

# بعد الترتيب يمكننا إيجاد أصغر و أكبر عنصر من أول و آخر المصفوفة المرتبة
print(l[0]) # أصغر 
print(l[-1]) # أكبر

#  أو عن طريق تطبيق التابع التالي 
# لا يحتاج لترتيب
print(max(l))
print(min(l))

for item in l:
    if item > 10 and item % 2 !=0: # عدد أكبر من 10 و فردي
        l.remove(item)     # حذف عنصر من قائمة
print(l)

# حذف الأرقام بين الدليلين 3 و 7
l = l[:3]+l[7:]   # ننسخ العناصر المرغوبة
print(l)

السؤال الثالث:

نستخدم التابع join لدمج عناصر المصفوفة مع الفراغ، و split لتفريق العناصر

myList = ["my" , "name" , "is" , "aya"]
text = ' '.join(myList)
# سلسة نصية
print(text)
# مصفوفة
print(text.split(' '))

السؤال الرابع:

يمكننا استخدام البحث عن طريق التعابيرالمنتظمة ويوجد مكتبة في بايثون لذلك 

re = regular expression 

سوف نختبر كل شرط على حدى ونطبع رسالة الخطأ التي تقابلها 

في حال بقيت قيمة flag = True ستكون الكلمة مقبولة

import re 
password = input('enter a password:')
flag = True # Valid Password
if (len(password)<6 or len(password)>20): 
    flag = False
    print("Error with Length")
    
if not re.search("[a-z]", password): 
    flag = False
    print("Error with small letters")
    
if not re.search("[A-Z]", password):
    flag = False
    print("Error with capital letters") 
    
if not re.search("[0-9]", password): 
    flag = False
    print("Error with numbers")
    
if not re.search("[%#@$]", password): 
    flag = False
    print("Error with one of %#@$")
        
if flag: 
    print("Valid Password") 

بالتوفيق

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...