כיצד להמיר מחרוזת למספר שלם באמצעות פייתון



מאמר זה יספק לך ידע מפורט ומקיף כיצד להמיר מחרוזת למספר שלם בדרכים שונות עם דוגמאות.

בנושא זה, נלמד כיצד להמיר מחרוזת למספר שלם עם ובלי להשתמש בסוג נתונים מובנה. אנו יודעים שמחרוזת היא אוסף של תווים המסודרים ברצף בתוך מרכאות ומספר שלם הוא מספר ללא נקודות עשרוניות ואינו מוקף בשום ציטוט.

מחרוזת לפיתון שלם





אך כאשר נשאלת השאלה כיצד להמיר סוג נתונים אחד לאחר, פיתון מספק דרך קלה להמיר זה לזה. במקרה זה נראה כיצד נוכל להמיר מחרוזת למספר שלם בסדר הבא:

שימוש בסוגי נתונים מובנים



נניח שכשאני לוקח קלט מהמשתמש מסיבה כלשהי, פייתון לוקח את זה ומחזיר אותו כמחרוזת עצמה. במילים אחרות, גם אם מישהו מקליד מספר כקלט, פייתון מחזיר אותו כמחרוזת.

שם = קלט ('מה שמך:') הדפס (שם) הדפס (סוג (שם)) גיל = קלט ('מה הגיל שלך:') הדפס (גיל) הדפס (סוג (גיל))

תְפוּקָה:

איך קוראים לך: טיירה



טיירה

מה הגיל שלך: 20

עשרים

אז אתה מבין, סוג השם והגיל שנלקחו כקלט הוא 'מחרוזת'.

נניח שאם נרצה להוסיף 5 לגיל, נעשה את הפעולות הבאות:

שם = קלט ('מה שמך:') הדפס (שם) הדפס (סוג (שם)) גיל = קלט ('מה הגיל שלך:') הדפס (גיל) הדפס (סוג (גיל)) הדפס (גיל + 5)

תְפוּקָה:

איך קוראים לך: טיירה

טיירה

מה הגיל שלך: 20

עשרים

Traceback (רוב השיחות האחרונות האחרונות):

קובץ 'C: /Users/prac.py', שורה 9, ב

הדפס (גיל + 5)

TypeError: חייב להיות str, לא int

מחרוזת ניתנת לשינוי או לשינוי בג'אווה

אנחנו לא יכולים להוסיף 5 לגיל כי הגיל הוא מסוג מחרוזת ואנחנו לא יכולים לעשות מתמטיקה ישירה עם מחרוזות. אז עלינו לשנות את הגיל למספר שלם מכיוון שלקחנו את הגיל כקלט ופייתון מחזיר אותו כמחרוזת.

לָכֵן.

שם = קלט ('מה שמך:') הדפס (שם) הדפס (סוג (שם)) גיל = קלט ('מה הגיל שלך:') הדפס (גיל) הדפס (סוג (גיל)) גיל = 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 = נכון אחר: start_idx = 0 is_negative = שקר עבור i בטווח (start_idx, len (input_str)): מקום = 10 ** (len (input_str) - (i + 1)) ספרה = ord (input_str [i]) - ord ('0') output_int + = מקום * ספרה אם היא_שלילה: להחזיר -1 * output_int אחר: להחזיר output_int s = '554' x = str_to_int (s) הדפס (סוג (x)) s = '123' הדפס (str_to_int (s)) s = הדפסת '-123' (str_to_int (s))

תְפוּקָה:

123

-123

  • ראשית, נבדוק אם המספר שסופק על ידי המשתמש מכיל סימן מינוס כלשהו או לא, כלומר האם מדובר במספר שלילי או לא.אם הוא מכיל במיקום הראשון בסימן מינוס, אנו מתחילים את ההמרה שלנו מהמיקום השני המכיל מספרים.

  • כל מספר, נניח 123, ניתן לכתוב בצורה -10 ** 2 * 1 + 10 ** 1 * 2 + 10 ** 0 * 3

  • באופן דומה, אנו מחלקים כל אחד ממספר הקלט באמצעות מילים (ויכוח) .

  • ord ('0') יחזיר 48, ord ('1') מחזיר 49 וכו '.

  • כאן אנו משתמשים בהיגיון ש- ord ('1') - ord ('0) = 1, ord (' 2 ') - ord (' 0 ') = 2 וכו'. זה נותן לנו את המספר המשמעותי שיש להביא מהנתון מספר קלט.

  • לבסוף, הפלט שאנו מקבלים מהפונקציה הוא מספר שלם חוקי אותו המירו ממחרוזת הקלט הנתונה.

אז כפי שאתה יכול לראות, אנו יכולים להמיר כל מחרוזת למספר שלם באמצעות פונקציה int () או בדרך המקובלת.

אני מקווה שלמדת את המושגים היטב ולכן נסה את זה להיות מדויק יותר ועם זה, נגיע לסוף מאמר זה בנושא המרת מחרוזת ל- int באמצעות פייתון.

יש לך שאלה עבורנו? אנא הזכיר זאת בסעיף ההערות במדריך זה למחרוזת לשלמים ונחזור אליך בהקדם האפשרי.

כדי לקבל ידע מעמיק על Python יחד עם היישומים השונים שלו, אתה יכול להירשם לשידור חי עם תמיכה 24/7 וגישה לכל החיים.