الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

هل يمكن التحرر من for

بدأه احمد وسام في 7 يوليو 2014 · 10 رد · 746 مشاهدة · في لغة Python
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

مرحبا اخواني

 

هل يمكنني ان اتحرر من الحلقات التكرارية وتعويضها بالشروط

 

 

على سبيل المثال

m = 0while m >10:print m m+=1

هل يمكنني ان اعمل هذا السكربت بدون  for

#2

السكربت لا يحتوى على for أصلا

 

إن كنت تقصد برمجة تكرارات من دون اللجوء إلى الحلقات:

 

لبرمجة تكرارات هناك طريقتان:

 

1) الحلقات التكرارية

 

2) العودية

 

لا نستطيع برمجة تكرارات يالشروط فقط

 

لماذا تسأل عن هذا؟؟؟؟؟

 

هل تريد طياعة  'hello'   من دون إستعمال print أيضا؟؟؟؟؟؟؟؟؟؟

تم تعديل هذه المشاركة بواسطة kenham في 7 يوليو 2014 في 09:29

#3

نعم هذا ماقصد ان ابرمج سشكربت بدون اللجوء الى التكرارات

هل تريد طياعة  'hello'   من دون إستعمال print أيضا؟؟؟؟؟؟؟؟؟؟

ماغايتك من هذا

تم تعديل هذه المشاركة بواسطة احمد وسام في 7 يوليو 2014 في 03:17

#4
While تعتبر حلقة تكرارية ايضا

لكن عند استعمالها احذر من الحلقة الغير منتهيةinfinite loop ، لذا يجب عليك الاعتناء بشروط الخروج  من الحلقة

يمكنك الخروج من الحلقة باستعمال الامر break

المثال الذي طرحته خاطئ ، وبعبارة ادق لا ينفذ ابدا، لذا حاول تصحيحة بنفسك

#5

اخي شكرا لردك ﻻكن انا اطلب كيف يمكنني

 

ان اعمل سكرت يعد من 1 الى العشر بدون اللجوء الى الحلقات التكرارية

#6
اقتباس

 

ان اعمل سكرت يعد من 1 الى العشر بدون اللجوء الى الحلقات التكرارية

 

 

الأخ الكريم

 

قلت لك هذا لا يمكن إلا بإستعمال الحلقات التكرارية أو العودية

#7

شكرا لك

#8

نعم استطعت ان افعله

def r(f,t):
	if f ==t:
		return t
	else:
		ranges =  r(f,t-1)
		print  t

تم تعديل هذه المشاركة بواسطة احمد وسام في 7 يوليو 2014 في 20:52

#9

أخي يمكنك ان تعملها بطرق عدة تعلم وطبق ولا تستعجل على السؤال!، وستعرف مع كثرة التطبيق فقط انت اعمل تمارين كثيرة

# example 1
print('Example 1')
print(1)
print(2)
print(3)
print(4)
print(5)
print(6)
print(7)
print(8)
print(9)
print(10)


# example 2
print('Example 2')
i = 1
while i <= 10:
    print(i)
    i += 1


# example 3
print('Example 3')
for i in range(1, 11):
    print(i)



# example 4
print('Example 4')
i = 0
while True:
    i += 1
    print(i)
    if i == 10:
        break
    

# example 5
print('Example 5')
def a(x):
    if x >= 1:
        a(x - 1)
        print(x)

a(10)

شوف المثال الأول (example 1)

لو فرضنا تبي تعد من 1 الى 100 هل ستكتبها بنفس الطريق؟، طبعا صعب عشان كذا الحلقات التكرارية

#10

نعم يااخي تعبتك معي شكرا لك وجزاك الله خير والله كلامك صحيح بكثرة التطبيق تصبح معي سهلة

تم تعديل هذه المشاركة بواسطة احمد وسام في 7 يوليو 2014 في 21:16

#11

ﻻكن ايضا هل ترى ان شوي الكود ليس جيد باستخدامنا  print

باننا نطبع x وﻻ نطبع الدالة بكاملها

 

يمكننا حل هذا

 

عن طريق جعل متغير x  == list

 

ويتم اضافته بكل مرة

عن طريق append

بهذا الكود

def r(x):
    if x ==1:
        return [x]
    else:
       
 a = r(x-1)
a.append(x)
        print a

ﻻكن لي سؤال هنا عندما نطبع بامر print يخرج خطا

وعندما نستبدلها ب return يطبع بشكل صحيح

 

لماذا

 

والخطا

AttributeError: 'NoneType' object has no attribute 'append'

تم تعديل هذه المشاركة بواسطة احمد وسام في 7 يوليو 2014 في 21:15

مواضيع مشابهة