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

السؤال

Recommended Posts

  • 1
نشر

يعمل الرمز d% كنائب عن عدد صحيح عشري , ثم يتم تمرير القيم المرتبطة بها عبر مجموعة باستخدام العامل % , هناك أيضا الرمز s% الذي يعمل كنائب عن سلسلة نصية , على سبيل المثال

name = 'mohammed'
number = 22
print ('%s %d' % (name, number))

كما تلاحظ لدينا متغيرين الأول name وقيمته mohammed ولطباعته نقوم باستخدام الرمز s% لينوب عنه , ثم نمرر قيمة الرمز وهي name عبر المجموعة باستخدام العامل % , وبالمثل استخدمنا الرمز d% ومررنا قيمته عبر المجموعة وهي number
 

  • 1
نشر (معدل)

هذا الرمز تجده في لغة السي++ أيضاً وأصله لغة السي وتحديداً الدالة printf فيها.
ويُسمى "placeholder" أو عنصر نائب أو بمعنى آخر هو رمز "symbol" يتم تضمينه ضمن سلسلة نصية أو تعبير رياضي للدلالة على أن هناك تعبيراً نصياً أو قيمة ستحل محله (للدلالة على شيء أو كمية مفقودة).
في بايثون نستخدم الرمز d% كعنصر نائب لتحديد قيم عدد صحيح أو أرقام عشرية أو أرقام. يسمح لنا بطباعة الأرقام داخل سلاسل أو قيم أخرى. يتم وضع الرمز d% حيثما نريد وضع العدد (يتم تحويل أرقام الفاصلة العائمة تلقائياً إلى قيم عشرية).
مثال:

# الإعلان عن متغير يمثل عدد صحيح
num = 2021

الآن نريد أن نطبع هذا المتغير ضمن سلسلة نصية، لذا كل ماعلينا فعله هو وضع هذا العنصر ضمن السلسلة لينوب عن المتغير:

print("%d is here!!" % num)

حيث نقوم بوضع السلسلة النصية المطلوب إظهارها ضمن علامتي اقتباس " " ونقوم بكتابة النص المطلوب إظهاره ضمنها إضافةً إلى العنصر النائب، ثم نكتب بعد علامتي الاقتباس الرمز % متبوعاً باسم المتغير الذي سيحل محل العنصر الذي ينوب عنه (d%).

num = 2022
print("%d is here!!" % num)
# الخرج:
# 2022 is here!!

لكن ماذا لو كان لدينا أكثر من متغير نريد وضعه ضمن السلسلة النصية كما في مثالك؟ هنا يجب أن نقوم بوضع عنصر نائب من أجل كل متغير ويجب أن نضع هذه المتغيرات ضمن قوسين، مثلاً:

year = 2022
month=1
day = 1
print("%d:%d:%d" % (year,month,day))
# الخرج:
# 2022:1:1

اعتقد أن الأمر أصبح واضحاً. حيث استخدمناها في مثالك لطباعة المتغيرات مع بعضها وفصلها ب " : ".
الآن لنجرب استخدام هذا الرمز مع الأعداد العشرية و النسبية:

# الإعلان عن متغير نسبي  
frac_num = 8/3
# الآن سنحاول استخدام الطريقة السابقة معه
print ("Rational number formatting using %d")
print("%d is equal to 8/3 using this operator." % frac_num)
# الإعلان عن عدد عشري لنجرب علييها أيضاً
dec_num = 10.9785
print ("Decimal number formatting using %d")
print("%d is equal to 10.9785 using this operator." % dec_num)

الخرج:

Rational number formatting using %d
2 is equal to 8/3 using this operator.
Decimal number formatting using %d
10 is equal to 10.9785 using this operator.

لاحظ من الخرج أنه يقوم بتحويلها إلى أعداد صحيحية.

 

تم التعديل في بواسطة Ali Haidar Ahmad

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...