Python String เป็น Int: วิธีการแปลงสตริงเป็นจำนวนเต็มใน Python

ซึ่งแตกต่างจากภาษาโปรแกรมอื่น ๆ อีกมากมาย Python จะไม่พิมพ์จำนวนเต็ม (หรือลอย) เป็นสตริงโดยปริยายเมื่อคุณเชื่อมต่อเข้ากับสตริง

โชคดีที่ Python มีฟังก์ชันในตัวที่สะดวกstr()ซึ่งจะแปลงอาร์กิวเมนต์ที่ส่งผ่านไปเป็นรูปแบบสตริง

วิธีที่ไม่ถูกต้องในการแปลงสตริงเป็นจำนวนเต็มใน Python

โปรแกรมเมอร์ที่มาจากภาษาโปรแกรมอื่นอาจพยายามทำการต่อสายอักขระต่อไปนี้ซึ่งจะทำให้เกิดข้อผิดพลาด:

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ระบุว่าจำนวนเต็มต้องถูกแปลงเป็นสตริงก่อนจึงจะสามารถเชื่อมต่อกันได้

วิธีที่ถูกต้องในการแปลงสตริงเป็นจำนวนเต็มใน Python

นี่คือตัวอย่างการเชื่อมต่ออย่างง่าย:

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. สำหรับลูปกำลังถูกใช้เพื่อวนซ้ำรายการตัวเลข
  3. รายการตัวเลขนี้สร้างขึ้นโดยใช้ฟังก์ชัน range
  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 loop ผลลัพธ์บนคอนโซลคือ '1 2 3 4 5 6 7 8 9 10'

ฉันหวังว่าคุณจะพบว่าสิ่งนี้มีประโยชน์ มีความสุขในการเขียนโค้ด