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

مقدمة#

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

x = 1
y = 5

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

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

wait(1, SECONDS)
# Display the time using .format()
brain.print("Time: {}".format(brain.timer_time(SECONDS)))

تنسيق الأرقام باستخدام .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

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

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

Rounding Numbers#

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

Usage:
round(number, x)

حدود

وصف

number

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

x

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

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

Thousands Separator#

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

Usage:
:,

حدود

وصف

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

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

Percentage#

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

Usage:
:.x%

حدود

وصف

x

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

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

Hexadecimal#

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

Usage:
:#x

حدود

وصف

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

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

Binary#

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

Usage:
:b

حدود

وصف

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

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

دمج الأوتار#

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

Using .format#

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

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

+ Operator#

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

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

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

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

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

upper#

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

Usage:
upper()

حدود

وصف

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

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

lower#

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

Usage:
lower()

حدود

وصف

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

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

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

in#

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

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

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

message = "Hey everyone!"
if "Hey" in message:
    brain.print("Hello!")

startswith#

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

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

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

Usage:
startswith(substring)

حدود

وصف

substring

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

# Check for 'CTE' at the start of a string
message = "CTE Robot"

if message.startswith("CTE"):
    brain.print("CTE first!")

endswith#

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

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

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

Usage:
endswith(substring)

حدود

وصف

substring

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

# Check for `Robot` at the end of a string
message = "CTE Robot"

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

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

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

New Line#

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

# Display text on two lines
brain.print("First line\nSecond line")

Tab Spacing#

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

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