• الإعلانات

    • فيصل الحربي

      تسجيل عضوية جديدة في المنتدى   01/31/2016

      السلام عليكم ورحمة الله وبركاته  عزيزي العضو الجديد :  حاليا رسالة الإيميل لتأكيد صحة إيميلكم تذهب للبريد العشوائي ( جاري حل المشكلة )  فإذا لم تجد رسالة التحقق من إيميلكم في صندوق الوارد لديكم إتجه للبريد العشوائي ( JUNK)  وقم بتفعيل إشتراككم من هناك   

عامر الشابي

اعضاء
  • عدد المشاركات

    136
  • تاريخ الانضمام

  • تاريخ اخر زياره

السمعه بالموقع

33 عادي

عن عامر الشابي

  • الرتبة
    عضو

معلومات الملف الشخصي

  • الجنس ذكر

طرق الإتصال

  • Skype xxxx.xxxxxx73
  1. Recursive في البايثون

    أجل
  2. كيفية ايقاف Qthread في بايثون

    ما نسخة البايثون التي تستخدمها في ليونكس؟   عليك أن تقوم بإستدعاء PyEval_InitThreads()   أدخل موقع بايثون وإبحث عن ما سبق ذكره
  3. كيفية ايقاف Qthread في بايثون

    ماذا تريد من Qthread بالظبط اين تكمن مشكلتك
  4. كيفية ايقاف Qthread في بايثون

    إن كنت تستخدم PyQt فإطلع على الموضوع التالي هنا   لم اخض تجربة في هذا من قبل لهذا جل ما استطيع هو مساعدتك بالمصادر
  5. كيفية ايقاف Qthread في بايثون

    ألقي نظرة هنا
  6. Recursive في البايثون

    السلام عليكم ورحمة الله وبركاته   الإستدعاء الذاتي أو Recursion هو إستدعاء الدالة نفسها من داخلها أي من داخل الدالة إستخدم هذا النوع من طرق في لغات البرمجة المسمات Functional languages   بحيث هذه الأخيرة لا تحتوي على ما يسمى الآن في اللغات الحديثة Structured programming أي الحلقات (Loops,while)   على العموم الإستدعاء الذاتي له مزايا وعيوب لن أتعمق كثيراا في شرحها كلها ولكن سأذكر المهم منها   فمن عيوب الإستدعاء الذاتي هو فيض المكدس Stack over flow لماذا يحدث هذا الأخير؟   سبب واضح الإستدعاء ذاتي ينتهج منهجية في عمله فهو مزيح من loop و while فهو يقوم بالتكرار ويتوقف عندما يتحقق الشرط conditione هذه هي طريقة عمل   الإستدعاء الذاتي لاحظ المثال التالي لحساب مضروب العدد 5   أولا سنستخدم الطريقة الحديثة Structured programming     وبإستخدام الإستدعاء الذاتي     لاحظ جيدا ماذا يحدث داخل الذاكرة عن إستخدام الإستدعاء الذاتي       لو لم يوجد الشرط سوف تستمر الدالة الى ما لا نهاية الى ان يحدث buffer over flow   فLoop أفضل غالبا من الإستدعاء الذاتي وليس دائما فالإستدعاء الذاتي يقلل من المتغيرات ويقلل من طول الكود البرمجي   أرجوا أن أكون قد وفقت في الشرح
  7. مساعدة

    سأعطيك لمحة على التمرين الأول   يقول لك بإستخدامك للدالة random.randint من مكتبة random قم بكتابة سكربت تخمين بسيط يقوم بأخذ input من المستخدم ويقارنه بما هو موجود داخل random.randint (هذه الأخيرة تقوم   بإختيار random number من range أو مدى تعطيه انت كمثالنا في تمرين من 0 الى 100)   اذا كان الناتج مطابق يطبع رسالة تخبره ان تخمينه صحيحه ويخرج البرنامج وان كان الناتج اصغر من ماهو موجود داخل random.randint يطبع رسالة يخبرك فيها ان تختار رقما اكبر ويعيد البرنامج   العمل من سطر الاول وهذا عن طريق while loop ونفس الشيء مع رقم اكبر   حاول في حله التمرين سهل
  8. مساعدة

    من أين حصلت على هذه الأسئلة؟   هل يمكنك ان تطلعنا على مصدرها
  9. فكرة هذا المشروع حقا رائعة (قاموس الكلمات)

    حقا تطور هائل في موضوع جميل جدا   أردت فقط تنويه على مساعدة ربما قد تفيدكم   جوجل وفرت API لإستخدام تطبيقها google translate في مكتبة goslate   إفتراضيا وبكل بساطة >>> import goslate>>> gs = goslate.Goslate()>>> print gs.translate('hello', 'fr')bonjour
  10. مساعدة بخصوص تداخل حلقات التكرار في بعضها For

    إعمل print على word ولاحظ ماذا يحدث
  11. مساعدة بخصوص تداخل حلقات التكرار في بعضها For

    لن تختلط عليك   لاحظ الكود التالي words = ['his', 'name', 'is', 'amer']alist = []for word in words: alist.append(foo(word))يمكننا كتابة كود برمجي يعمل نفس العمل الكود السابق لكن هذه المرة بطريقة سهلة words = ['his', 'name', 'is', 'amer']alist = [foo(word) for word in words]هذه الطريقة تدعى بالـList Comprehensions هذه الطريقة تسمح لنا بتفادي الأخطاء وسهولة أكثر في قرائة الكود البرمجي   هذا كود برمجي عادي words = ['his', 'name', 'is', 'amer'] letters = [] for word in words: for letter in word: letters.append(letter)عن طريق list comprehension الكود يصبح سهل أكثر words = ['his', 'name', 'is', 'amer'] letters = [letter for word in words for letter in word]يمكنك حتى إستعمال if condition words = ['his', 'name', 'is', 'amer', '1', '2', '3'] alpha_words = [word for word in words if isalpha(word)] الآن يمكنك قرائة الكود السابق   بالتوفيق
  12. سكريبت تحويل درجة الحرارة

    حسنا سنبدأ بالأخطاء أولا انت تطلب من المستخدم ان يختار بين التحويل إلى كالفن و فرنهايت و رانكين ويعطي النتيجة النهائية وينتهي البرنامج,إذا فنحن لا نحتاج إلى while loop لأننا وبكل بساطة نريد من المستخدم أن يختار نوع التحويل والعدد والبرنامج يقوم بالأخير بإظهار النتيجة النهائية وينتهي عمله,وبالتالي الشكل الإبتدائي للبرنامج سيكون كالتالي: print("welcome to program temperature conversions ")try: print "1 - convert to Kelvin (°K)" print "2 - convert to Fahrenheit (°F)" print "3 - convert to Rankine " print "4 - exit" b = input("please enter number : ") if b == 1: print " convert to Kelvin " c = input("please enter temperature in Celsius (°C) : ") k = c + 273.15 print " temperature in Kelvin : ",k elif b == 2: print " convert to Fahrenheit " c = input("please enter temperature in Celsius (°C) : ") f = (1.8*c)+32 print " temperature in Kelvin : ",f elif b == 3: print " convert to Rankine " c = input("please enter temperature in Celsius (°C) : ") r = 1.8*(c+273.15) print " temperature in Kelvin : ",r elif b == 4: print("exit")except ValueError : print("invalid try again ")هناك مشاكلل أخرى في البرنامج حاول ان تجدها (أنا أستخدم بايثون 2.7)
  13. سكريبت تحويل درجة الحرارة

    سأنوهك على بعض التعديلات ستجعل من برنامجك أفضل وتستطيع مراقبته من كل أخطاء   أولا من أفضل حذف السطر aa=True أكتب while True على طول   ثانيا إستخدم مكتبة loggign لعمل  log للسكربت لمراقبة تحركاته   إذا أردت مساعدة في ذلك فلا مشكلة
  14. سكريبت تحويل درجة الحرارة

    ما الخوارزمية التي إعتمدت عليها لتحويل درجة الحرارة؟
  15. كيف أحمى برنامجى من السرقه

    برامج البايثون هي برامج مفتوحة المصدر أفضل طريقة لحماية الكود البرمجي هو وضعه في خادم آمن يمكن الوصول إلى الكود البرمجي إلى عن طريق عملية مصادقة على ذلك أنظر هنا   وبالنسبة لسؤالك عن إمكانية وضع كلمة مرور للبرنامج للسماح بالمرور لتنفيذ البرنامج هذا يعتمد على فكرتك يمكنك برمجة سكربت يعمل check قبل أن يتم السماح لك بإستخدام البرنامج   وجدت لك هذا المثال الرائع """ Python Password Check """import hashlibimport syspassword = "2034f6e32958647fdff75d265b455ebf"def main(): # Code goes here print "Doing some stuff" sys.exit(0)while True: input = raw_input("Enter password: ") if hashlib.md5(input).hexdigest() == password: print "welcome to the program" main() else: print "Wrong Password"كلمة المرور هنا هي secretpassword وبالتالي لن يمكنك الدخول للبرنامج حتى تضع كلمة المرور الصحيحة   ومثلما قلت لك يمكن لأي أحد أن يعمل baypass للكود البرمجي إذا لم يتم حمايته جيدا   بالتوفيق