كيفية تحويل سلسلة إلى عدد صحيح باستخدام بايثون



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

في هذا الموضوع ، سنتعرف على كيفية تحويل سلسلة إلى عدد صحيح باستخدام نوع البيانات المضمّن وبدونه. نعلم أن السلسلة عبارة عن مجموعة من الأحرف مرتبة بشكل تسلسلي داخل علامات اقتباس وأن العدد الصحيح هو رقم بدون أي فواصل عشرية وغير محاط بأي نوع من علامات الاقتباس.

سلسلة إلى عدد صحيح بيثون





ولكن عندما يتعلق الأمر بكيفية تحويل نوع بيانات إلى آخر ، فإن Python توفر طريقة سهلة للتحويل إلى بعضها البعض. في هذه الحالة ، نرى كيف يمكننا تحويل سلسلة إلى عدد صحيح بالترتيب التالي:

استخدام أنواع البيانات المضمنة



لنفترض أنه عندما أخذ مدخلات من المستخدم لسبب ما ، فإن Python يأخذها ويعيدها كسلسلة في حد ذاتها. بمعنى آخر ، حتى إذا كتب شخص ما رقمًا كمدخل ، فإن Python يعيده كسلسلة.

name = input ('What is your name:') print (name) print (type (name)) age = input ('What is your age:') print (age) print (type (age))

انتاج:

ما هو اسمك: تايرا



تايرا

ما هو عمرك: 20

عشرين

لذلك ترى ، نوع الاسم والعمر المأخوذ كمدخل هو 'سلسلة'.

الآن ، لنفترض أنه إذا أردنا إضافة 5 إلى العمر ، فسنقوم بما يلي:

name = input ('What is your name:') print (name) print (type (name)) age = input ('ما هو عمرك:') print (age) print (type (age)) print (age + 5)

انتاج:

ما هو اسمك: تايرا

تايرا

ما هو عمرك: 20

عشرين

Traceback (أحدث مكالمة أخيرة):

ملف 'C: /Users/prac.py' ، السطر 9 ، بتنسيق

طباعة (العمر + 5)

TypeError: يجب أن يكون str وليس int

لا يمكننا إضافة 5 إلى العمر لأن العمر من نوع String ولا يمكننا إجراء العمليات الحسابية المباشرة باستخدام السلاسل. لذلك علينا تغيير العمر إلى عدد صحيح لأننا أخذنا العمر كمدخل وأعادته بايثون كسلسلة.

بالتالي.

name = input ('ما هو اسمك:') print (name) print (type (name)) age = input ('ما هو عمرك:') print (age) print (type (age)) age = int ( العمر) الطباعة (العمر + 5)

انتاج:

ما هو اسمك: تايرا

تايرا

ما هو عمرك: 20

عشرين

25

كيفية استخدام الماسحات الضوئية في جافا

الطريقة التقليدية

لنفترض أننا لا نريد استخدام الدالة المضمنة int () لتحويل سلسلة إلى عدد صحيح.لذلك علينا استخدام بالطريقة التقليدية لتحويل.

إليك طريقة بسيطة للتحويل دون استخدام int ().

'' '123' -> 123 '-12332' -> -12332 '' 'def str_to_int (input_str): output_int = 0 if input_str [0] ==' - ': start_idx = 1 is_negative = True else: start_idx = 0 is_negative = False for i in range (start_idx، len (input_str)): place = 10 ** (len (input_str) - (i + 1)) digit = ord (input_str [i]) - ord ('0') output_int + = place * digit if is_native: return -1 * output_int else: return output_int s = '554' x = str_to_int (s) print (type (x)) s = '123' print (str_to_int (s)) s = طباعة '-123' (str_to_int (s))

انتاج:

123

-123

  • أولاً ، سنتحقق مما إذا كان الرقم الذي قدمه المستخدم يحتوي على أي علامة ناقص أم لا ، أي هل هو رقم سلبي أم لا.إذا احتوت في الموضع الأول على علامة ناقص ، نبدأ التحويل من الموضع الثاني الذي يحتوي على أرقام.

  • أي رقم ، لنقل 123 ، يمكن كتابته بالشكل -10 ** 2 * 1 + 10 ** 1 * 2 + 10 ** 0 * 3

  • وبالمثل ، قمنا بتقسيم كل رقم إدخال باستخدام كلمات (حجة) .

  • أودر ('0') ستعيد 48 ، وترجع ('1') 49 إلخ.

  • هنا نستخدم المنطق الذي يرتب ('1') - ord ('0) = 1، ord (' 2 ') - ord (' 0 ') = 2 وما إلى ذلك مما يعطينا العدد الكبير الذي يجب جلبه من المعطى رقم الإدخال.

  • أخيرًا ، الناتج الذي نحصل عليه من الوظيفة هو عدد صحيح صحيح قمنا بتحويله من سلسلة الإدخال المحددة.

كما ترى ، يمكننا تحويل أي سلسلة إلى عدد صحيح إما باستخدام دالة int () أو بالطريقة التقليدية.

أتمنى أن تكون قد تعلمت المفاهيم جيدًا ومن ثم تجربتها لتكون أكثر دقة وبهذا نصل إلى نهاية هذه المقالة حول تحويل سلسلة إلى int باستخدام Python.

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

للحصول على معرفة متعمقة حول Python مع تطبيقاتها المختلفة ، يمكنك التسجيل في البث المباشر مع دعم 24/7 والوصول مدى الحياة.