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

ahmed1990

الأعضاء
  • المساهمات

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

  • تاريخ آخر زيارة

أجوبة بواسطة ahmed1990

  1. لدي الشيفرة البرمجية التالية وأريد تحويلها إلى سطر واحدة عن طريق استخدام طريقة "تفهيم القائمة" list comprehension فهل هنالك طريقة لاستخدام else فيها؟

    table = ''
    for index in xrange(256):
        if index in ords_to_keep:
            table += chr(index)
        else:
            table += replace_with
    

    وهذا السطر الذي قمت به بدون استخدام else:

    table = ''.join(chr(index) for index in xrange(15) if index in ords_to_keep)
  2. أحاول تعلم الإصدار الثالث من البايثون وبالضبط أنا أستخدم الإصدار 3.2 على نظام لينكس لكنني عندما أقوم بكتابة هذه السطور (التي نقلتها عن درس من موقع lynda.com):

    a, b = 0, 1
    if a < b:
         print('a ({}) is less than b ({})'.format(a, b))
    else:
         print('a ({}) is not less than b ({})'.format(a, b))
    

    أحصل على الخطأ التالي:

    ValueError: zero length field name in format
    

    فما المشكلة؟

  3. أحتاج إلى مساعدة في استبدال كلمة hello بـ goodbye في هذه السلسلة النصية:

    hello world
    

    فلذلك قمت باستخدام تابع replace() كما في الأسطر التالية:

    X = "hello world"
    X.replace("hello", "goodbye")
    

    لكن الناتج لم يتغير.
    فلماذا لا يمكنني استدعاء تابع سلسلة نصية في بايثون من دون أن أسندها إلى متغير؟

  4. أحاول أن أكتب في ملف من نوع utf-8 بعض السلاسل النصية من نفس النوع، لكن عندما أقوم بذلك عن طريق هذه الأسطر تظهر لي رسالة الخطأ:

    file = codecs.open("temp", "w", "utf-8")
    file.write(codecs.BOM_UTF8)
    file.close()
    

    أما لو جربت هذا المثال:

    file = open("temp", "w")
    file.write(codecs.BOM_UTF8)
    file.close()
    

    فسيعمل دون مشاكل، فما هو السبب؟

×
×
  • أضف...