• 0

عمليات على القوائم في بايثون

xr_omb
xr_omb نشر (مُعدّل)

السلام عليكم للجميع ممكن تشوفو برمجتي ؟ بليز اريد مساعدتكم ضروري....

في هذي البرمجة يوجد 4 ليست في كل ليست هناك مطلوب واحد  عندما يدخل المستخدم رقم 1 بتظهر لة القائمة تبع الليست 1 وبعدين بيطلب من المستخدم انه يدخل قيمة او شي بعد كذا يضيفها لليست واحد ويطبعها   لكن المشكلة  كيف أخلية يضيف هذي القيمة لليست ويطبعها مع الليست هذه هي البرمجة مالتي اتمنى تشوفوها وتقدرو تساعدوني بليز 

print('list1: 1 , 3 , 2')
print('List of method are here please choose one') 
print('1. Add to the list') 
print('2. Sort the list') 
print('3. Reverse the list') 
print('4. 999 to exit') 
selection1 ='1. Add to the list' 
selection2 ='2. Sort the list' 
selection3 ='3. Reverse the list' 
selection4 ='4. 999 to exit' 
list1=["1 , 3 , 2"] 
mySelection = int(input("Your selection is:")) 
if mySelection == 1:
    print('list1: 1 , 3 , 2')
    x = input('\nadd to list:') 
    list1.append(x) 
elif mySelection == 2:
    print('list1: 1 , 3 , 2') 
    list1.sort() #sort the list 
elif mySelection == 3:
    print('list1: 1 , 3 , 2') 
    list1.reverse() #reverse the list
elif mySelection == 4:
    print("**Good Buy**")

 

تمّ تعديل بواسطة Wael Aljamal
توضيح السؤال
1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


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

إن تعريف القائمة فيه مشكلة، يجب أن تكون بهذا الشكل:

سوف تحوي سلاسل نصية:

list1 = ["1" , "3" , "2"] 

حيث أن كل قيمة نحددها باقتباس منفصل، وبين العناصر نضع فاصلة.

لنجعلها تحوي أرقام مثلا تصبح هكذا:

list1=[1 , 3 , 2] 

** سوف نأخذ الشكل الأول**

لطباعة القائمة نستخدم print ونمرر له اسم المتحول:

print(list1)

بدون اشارات الاقتباس " أو '.

حتى نرة نتيجة التعديل يجب أن نستدعي تعليمة الطباعة بعد تغيير القيمة في list1 أي تكرار التعليمة السابقة.

مثلا:

list1 =[1 , 3 , 2] 

print(list1)   # => [1, 3, 2]

list1.append(4)

print(list1)   # => [1, 3, 2, 4]

يمكن وضع تعليمة طباعة واحدة بعد البرنامج:

if mySelection == 1:
    print('list1: 1 , 3 , 2')
    x = input('\nadd to list:') 
    list1.append(x) 
elif mySelection == 2:
    print('list1: 1 , 3 , 2') 
    list1.sort() #sort the list 
elif mySelection == 3:
    print('list1: 1 , 3 , 2') 
    list1.reverse() #reverse the list
elif mySelection == 4:
    print("**Good Buy**")


print('new list' , list1)

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0
بتاريخ 16 دقائق مضت قال Wael Aljamal:

إن تعريف القائمة فيه مشكلة، يجب أن تكون بهذا الشكل:

سوف تحوي سلاسل نصية:


list1 = ["1" , "3" , "2"] 

حيث أن كل قيمة نحددها باقتباس منفصل، وبين العناصر نضع فاصلة.

لنجعلها تحوي أرقام مثلا تصبح هكذا:


list1=[1 , 3 , 2] 

** سوف نأخذ الشكل الأول**

لطباعة القائمة نستخدم print ونمرر له اسم المتحول:


print(list1)

بدون اشارات الاقتباس " أو '.

حتى نرة نتيجة التعديل يجب أن نستدعي تعليمة الطباعة بعد تغيير القيمة في list1 أي تكرار التعليمة السابقة.

مثلا:


list1 =[1 , 3 , 2] 

print(list1)   # => [1, 3, 2]

list1.append(4)

print(list1)   # => [1, 3, 2, 4]

يمكن وضع تعليمة طباعة واحدة بعد البرنامج:


if mySelection == 1:
    print('list1: 1 , 3 , 2')
    x = input('\nadd to list:') 
    list1.append(x) 
elif mySelection == 2:
    print('list1: 1 , 3 , 2') 
    list1.sort() #sort the list 
elif mySelection == 3:
    print('list1: 1 , 3 , 2') 
    list1.reverse() #reverse the list
elif mySelection == 4:
    print("**Good Buy**")


print('new list' , list1)

 

شكرا لك أستاذي ولكن append ما نحن نضيفها المستخدم هو اللي يضيفها 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0
بتاريخ 38 دقائق مضت قال xr_omb:

شكرا لك أستاذي ولكن append ما نحن نضيفها المستخدم هو اللي يضيفها 

صحيح، أنا ذكرت مثال لكيفية ترتيب الشيفرة وانت يمكنك تعديلها كما ترينه مناسبا. أنا اختصرت البرنامج ووضعت قيمة ثابتة هي 4. في برنامجك تطلبين من المستخدم إدخال X و من ثم تضيفينها للقائمة وهو صحيح:

if mySelection == 1:
  print('list1: 1 , 3 , 2')
  x = input('\nadd to list:') 
  list1.append(x)
  print(list1)

 

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0
بتاريخ 51 دقائق مضت قال Wael Aljamal:

صحيح، أنا ذكرت مثال لكيفية ترتيب الشيفرة وانت يمكنك تعديلها كما ترينه مناسبا. أنا اختصرت البرنامج ووضعت قيمة ثابتة هي 4. في برنامجك تطلبين من المستخدم إدخال X و من ثم تضيفينها للقائمة وهو صحيح:


if mySelection == 1:
  print('list1: 1 , 3 , 2')
  x = input('\nadd to list:') 
  list1.append(x)
  print(list1)

 

هنا انا سويتة كامل ولكن تبقت لي خطوة واحدة ما عرفت اسويها :

اريد ان البرنامج يتوقف من بعد ما ادخل رقم 4  يعني لما ادخل رقم 4 ويطلعلي جود باي 

خلاص ما يظهر شي بعدة يتوقف التكرار

while True:
    print('list1: 1 , 3 , 2')
    print('List of method are here please choose one')
    print('1. Add to the list')
    print('2. Sort the list')
    print('3. Reverse the list')
    print('4. 999 to exit')
    selection1 ='1. Add to the list'
    selection2 ='2. Sort the list'
    selection3 ='3. Reverse the list'
    selection4 ='4. 999 to exit'
    list1=["1" , "3" , "2"]
    mySelection = int(input("Your selection is:"))
    if mySelection >= 5:
          break
    if mySelection == 1:
        print('list1: 1 , 3 , 2')
        x = input('\nadd to list:')
        list1.append(x)
        print(list1)
    elif mySelection == 2:
        print('list1: 1 , 3 , 2')
        list1.sort() #sort the list
        print('new list' , list1)
    elif mySelection == 3:
        print('list1: 1 , 3 , 2')
        list1.reverse() #reverse the list
        print(list1)
    elif mySelection == 4:
        print("**Good Buy**")

 

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0
بتاريخ 3 دقائق مضت قال xr_omb:

خلاص ما يظهر شي بعدة يتوقف التكرار

يمكننا استخدام الدالة ()exit في اللحظة التي نريدها بكتابتها بعد آخر تعليمة نريد تنفيذها.

حاولي حل المشكلة

..

.

elif mySelection == 4:
  print("**Good Buy**")
  exit()

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0
بتاريخ 5 دقائق مضت قال Wael Aljamal:

يمكننا استخدام الدالة ()exit في اللحظة التي نريدها بكتابتها بعد آخر تعليمة نريد تنفيذها.

حاولي حل المشكلة

..

.


elif mySelection == 4:
  print("**Good Buy**")
  exit()

 

للأسف سويت كذا سابقا لكن يظهرلي خطأ برمجي

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0
بتاريخ 11 دقائق مضت قال xr_omb:

للأسف سويت كذا سابقا لكن يظهرلي خطأ برمجي

صورة للخطأ؟

تأكدي من الفراغات و أن التعليمات تابعة لجملة if

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0
بتاريخ 21 دقائق مضت قال Wael Aljamal:

يمكننا استخدام الدالة ()exit في اللحظة التي نريدها بكتابتها بعد آخر تعليمة نريد تنفيذها.

حاولي حل المشكلة

..

.


elif mySelection == 4:
  print("**Good Buy**")
  exit()

 

 

180824666_241832301023904_1489375535403563319_n.jpg

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0
بتاريخ 19 دقائق مضت قال xr_omb:

للأسف سويت كذا سابقا لكن يظهرلي خطأ برمجي

في حال نستعمل while يفضل استخدام break.

سبب عدم عمل exit هو أن الشيفرة هذه ليست الدالة الأساسية main.

إن وضعت while في أول البرنامج أرجو عمل إزاحة لكل سطر بعدها.

 

انشر على الشّبكات الاجتماعية


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

المسافات صحيحة استاذ لكن لازلت البرمجة لا تعمل

بتاريخ 1 دقيقة مضت قال Wael Aljamal:

في حال نستعمل while يفضل استخدام break.

سبب عدم عمل exit هو أن الشيفرة هذه ليست الدالة الأساسية main.

إن وضعت while في أول البرنامج أرجو عمل إزاحة لكل سطر بعدها.

 

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0
بتاريخ 2 دقائق مضت قال xr_omb:

المسافات صحيحة استاذ لكن لازلت البرمجة لا تعمل

 

حاولي تبديل exit مع raise SystemExit

انشر على الشّبكات الاجتماعية


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

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن