מחרוזת פייתון ל- Int: כיצד להמיר מחרוזת למספר שלם בפייתון

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

למרבה המזל, לפייתון יש פונקציה מובנית שימושית str()שתמיר את הטיעון שהועבר לפורמט מחרוזת.

הדרך הלא נכונה להמיר מחרוזת לשלם בפייתון

מתכנתים שמגיעים משפות תכנות אחרות עשויים לנסות לבצע את שרשור המחרוזות הבא, שייצור שגיאה:

age = 18 string = "Hello, I am " + age + " years old"

אתה יכול להריץ את הקוד הזה ב repl.it.

השגיאה שמופיעה היא:

Traceback (most recent call last): File "python", line 3, in  TypeError: must be str, not int

כאן, TypeError: must be str, not intמציין כי יש להמיר תחילה את המספר השלם למחרוזת לפני שניתן לשרשר אותו.

הדרך הנכונה להמיר מחרוזת לשלם בפייתון

להלן דוגמה פשוטה לשרשור:

age = 18 print("Hello, I am " + str(age) + " years old") # Output # Hello, I am 18 years old

אתה יכול להריץ את הקוד הזה ב repl.it.

כך תדפיס 1 2 3 4 5 6 7 8 9 10באמצעות מחרוזת אחת:

result = "" for i in range(1, 11): result += str(i) + " " print(result) # Output # 1 2 3 4 5 6 7 8 9 10

אתה יכול להפעיל את הקוד ב- repl.it.

להלן הסבר שורה אחר שורה כיצד פועל הקוד לעיל:

  1. קודם כל 'תוצאה' משתנה מוקצה למחרוזת ריקה.
  2. משתמשים בלולאת ה- for לחזור על רשימת המספרים.
  3. רשימת המספרים הזו נוצרת באמצעות פונקציית הטווח.
  4. אז טווח (1,11) הולך ליצור רשימת מספרים מ -1 עד 10.
  5. על כל איטרציה של לולאה משתנה 'i' זה יקבל ערכים מ -1 עד 10.
  6. באיטרציה ראשונה כאשר המשתנה i = 1, ואז המשתנה [result = result + str (i) + "(תו רווח)"], str (i) ממיר את ה- 'i' שהוא ערך שלם לערך מחרוזת.
  7. מכיוון ש- i = 1, באיטרציה הראשונה סוף סוף התוצאה = 1.
  8. ואותו תהליך נמשך עד i = 10 ולבסוף לאחר תוצאת האיטרציה האחרונה = 1 2 3 4 5 6 7 8 9 10.
  9. לכן כאשר אנו סוף סוף מדפיסים את התוצאה לאחר לולאת ה- for, הפלט במסוף הוא '1 2 3 4 5 6 7 8 9 10'.

אני מקווה שמצאת את זה מועיל. קידוד שמח.