تنسيق السلاسل النصية#

مقدمة#

تُستخدم الدالة .format() في بايثون لإنشاء سلاسل نصية تتضمن متغيرات أو تعابير أو قيم. تستبدل هذه الدالة عناصر نائبة {} في السلسلة النصية بالقيم المُقدمة داخل .format().

def main():
    x = 1
    y = 5

    # Display the variables using .format()
    console.print("Position: ({}, {})".format(x, y))

# Start threads — Do not delete
start_thread(main)

def main():
    # Display a calculation using .format()
    console.print("Sum: {}".format(5 + 3))

# Start threads — Do not delete
start_thread(main)

def main():
    wait(1, SECONDS)
    # Display the time using .format()
    console.print("Time: {}".format(timer.time(SECONDS)))

# Start threads — Do not delete
start_thread(main)

تنسيق الأرقام باستخدام .format – إدراج القيم والتعبيرات في سلسلة نصية.

  • :.xf – يحدد عدد المنازل العشرية المراد عرضها.

  • round – يقوم بتقريب رقم إلى عدد معين من المنازل العشرية.

  • :, – يضيف الفواصل كفاصل للآلاف.

  • :.x% – يحول العدد العشري إلى نسبة مئوية مع x منزلة عشرية.

  • :#x – يقوم بتنسيق رقم كنظام سداسي عشري.

  • :b – يقوم بتنسيق رقم كرقم ثنائي.

دمج السلاسل النصية – دمج النصوص والقيم.

  • .format() – دمج السلاسل والمتغيرات في تعبير واحد.

  • + operator – دمج السلاسل يدويًا مع تحويل النوع الاختياري.

طرق التعامل مع السلاسل النصية – تغيير حالة الأحرف في النص.

  • upper() – يحول جميع الأحرف إلى أحرف كبيرة.

  • lower() – يحول جميع الأحرف إلى أحرف صغيرة.

التحقق من وجود أجزاء نصية فرعية – اختبار وجود النص أو موضعه.

  • in – يتحقق مما إذا كانت كلمة ما موجودة في سلسلة نصية.

  • startswith() – يتحقق مما إذا كانت السلسلة تبدأ بقيمة معينة.

  • endswith() – يتحقق مما إذا كانت السلسلة تنتهي بقيمة معينة.

تسلسلات الهروب – تنسيق الإخراج باستخدام الأحرف الخاصة.

  • \n – يضيف فاصل أسطر (سطر جديد).

  • \t – يضيف مسافة جدولة بين العناصر.

تنسيق الأرقام باستخدام .format#

يمكن استخدام .format للتحكم في كيفية ظهور الأرقام، بما في ذلك المنازل العشرية والتقريب وأنماط التنسيق الأخرى مثل:

Fixed Decimal Places#

:.xf يتحكم في عدد المنازل العشرية التي يتم عرض الرقم بها.

Usage:
:.xf

حدود

وصف

x

عدد المنازل العشرية المطلوب عرضها.

def main():
    # Display pi with 2 decimal places
    pi = 3.1415926535
    console.print("Pi: {:.2f}".format(pi))
    # Output: Pi: 3.14

# Start threads — Do not delete
start_thread(main)

Rounding Numbers#

تقوم الدالة round بتقريب الرقم إلى عدد محدد من المنازل العشرية قبل التنسيق.

Usage:
round(number, x)

حدود

وصف

number

الرقم المراد تقريبه.

x

عدد المنازل العشرية التي يتم التقريب إليها.

def main():
    # Display a value rounded to only 2 decimal places
    value = 5.6789
    console.print("Rounded: {}".format(round(value, 2)))
    # Output: Rounded: 5.68

# Start threads — Do not delete
start_thread(main)

Thousands Separator#

:, يقوم بإدخال الفواصل كفواصل للآلاف لجعل الأرقام الكبيرة أكثر قابلية للقراءة.

Usage:
:,

حدود

وصف

لا يحتوي مُحدد التنسيق هذا على أي معلمات.

def main():
    # Display a large number separated with commas
    number = 1234567
    console.print("Formatted: ")
    console.new_line()
    console.print("{:,}".format(number))
    # Output: Formatted: 1,234,567

# Start threads — Do not delete
start_thread(main)

Percentage#

:.x% يقوم بتنسيق القيم العشرية كنسب مئوية عن طريق ضرب القيمة في 100 وإضافة علامة النسبة المئوية.

Usage:
:.x%

حدود

وصف

x

عدد المنازل العشرية المطلوب عرضها.

def main():
    # Display a converted decimal to a percentage
    value = 0.875
    console.print("Score: {:.1%}".format(value))
    # Output: Score: 87.5%

# Start threads — Do not delete
start_thread(main)

Hexadecimal#

:#x يحول الأرقام إلى النظام الست عشري.

Usage:
:#x

حدود

وصف

لا يحتوي مُحدد التنسيق هذا على أي معلمات.

def main():
    # Convert 255 to hexadecimal
    number = 255
    console.print("Hex: {:#x}".format(number))
    # Output: Hex: 0xff

# Start threads — Do not delete
start_thread(main)

Binary#

:b يحول الأرقام إلى النظام الثنائي (الأساس 2).

Usage:
:b

حدود

وصف

لا يحتوي مُحدد التنسيق هذا على أي معلمات.

def main():
    # Convert 3 to binary
    console.print("Binary: {:b}".format(3))
    # Output: Binary: 11

# Start threads — Do not delete
start_thread(main)

دمج الأوتار#

يمكنك دمج (أو ربط) السلاسل النصية باستخدام طريقتين:

Using .format#

أدخل القيم مباشرة في السلسلة باستخدام {}.

def main():
    # Display an answer based on the given emotion
    emotion = "good"
    console.print("I'm {}, you?".format(emotion))

# Start threads — Do not delete
start_thread(main)

+ Operator#

قم بربط أجزاء متعددة باستخدام +.

ملاحظة: يجب أولاً تحويل القيم غير النصية إلى سلاسل نصية باستخدام الدالة str().

def main():
    # Display the x and y values
    x = 10
    y = 20
    console.print("X: " + str(x) + ", Y: " + str(y))

# Start threads — Do not delete
start_thread(main)

طرق السلاسل النصية#

توفر لغة بايثون طرقًا مدمجة لتعديل السلاسل النصية والتحقق منها.

upper#

upper يحول جميع الأحرف في السلسلة إلى أحرف كبيرة.

Usage:
upper()

حدود

وصف

لا تحتوي هذه الطريقة على أي معلمات.

def main():
    # Capitalize a string with .upper()
    message = "vexcode"
    console.print(message.upper())  # Output: VEXCODE

# Start threads — Do not delete
start_thread(main)

lower#

lower يحول جميع الأحرف في السلسلة إلى أحرف صغيرة.

Usage:
lower()

حدود

وصف

لا تحتوي هذه الطريقة على أي معلمات.

def main():
    # Make a string lowercase with .lower()
    message = "VEXCODE"
    console.print(message.lower())  # Output: vexcode

# Start threads — Do not delete
start_thread(main)

التحقق من السلاسل الفرعية#

in#

in هي كلمة مفتاحية تُرجع قيمة منطقية تشير إلى ما إذا كانت سلسلة فرعية (كلمة أو جزء من النص) موجودة في سلسلة نصية.

  • True – الكلمة موجودة في السلسلة.

  • False – الكلمة غير موجودة في السلسلة.

def main():
    message = "Hey everyone!"
    if "Hey" in message:
        console.print("Hello!")

# Start threads — Do not delete
start_thread(main)

startswith#

startswith تُرجع قيمة منطقية تشير إلى ما إذا كانت السلسلة تبدأ بقيمة معينة.

  • True - الكلمة تبدأ السلسلة.

  • False – الكلمة لا تبدأ السلسلة.

Usage:
startswith(substring)

حدود

وصف

substring

السلسلة الفرعية التي يجب التحقق منها في بداية السلسلة.

def main():
    # Check for 'GO' at the start of a string
    message = "GO Robot"

    if message.startswith("GO"):
        console.print("GO first!")

# Start threads — Do not delete
start_thread(main)

endswith#

endswith تُرجع قيمة منطقية تشير إلى ما إذا كانت السلسلة تنتهي بقيمة معينة.

  • True – الكلمة تنهي السلسلة.

  • False – الكلمة لا تُنهي السلسلة.

Usage:
endswith(substring)

حدود

وصف

substring

السلسلة الفرعية التي يجب التحقق منها في نهاية السلسلة.

def main():
    # Check for `Robot` at the end of a string
    message = "GO Robot"

    if message.endswith("Robot"):
        console.print("Robot last!")

# Start threads — Do not delete
start_thread(main)

تسلسلات الهروب#

تُستخدم تسلسلات الهروب كأحرف خاصة داخل السلاسل النصية لتنسيق مخرجات النصوص.

New Line#

\n ينقل النص إلى سطر جديد عند الطباعة.

def main():
    # Display text on two lines
    console.print("First line\nSecond line")

# Start threads — Do not delete
start_thread(main)

Tab Spacing#

\t يُدرج مسافة جدولة بين الكلمات أو الأرقام.

def main():
    # Display the quantity of disks
    quantity = 2
    console.print("Disks:\t", quantity)

# Start threads — Do not delete
start_thread(main)