Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python SyntaxError:อักขระที่ไม่คาดคิดหลังอักขระต่อเนื่องของบรรทัด Solution

อักขระต่อเนื่องของบรรทัด Python ช่วยให้คุณต่อบรรทัดของโค้ดในบรรทัดใหม่ในโปรแกรมของคุณ อักขระต่อเนื่องของบรรทัดไม่สามารถตามด้วยค่าใดๆ ได้

หากคุณระบุอักขระหรือคำสั่งหลังอักขระต่อเนื่องของบรรทัด คุณพบข้อผิดพลาด "SyntaxError:อักขระที่ไม่คาดคิดหลังจากอักขระต่อเนื่องของบรรทัด"

ในคู่มือนี้ เราจะพูดถึงความหมายของข้อผิดพลาดนี้และสาเหตุที่ทำให้เกิดข้อผิดพลาดนี้ขึ้น เราอธิบายสองตัวอย่างของข้อผิดพลาดนี้ในการใช้งานจริง เพื่อให้คุณสามารถเรียนรู้วิธีการใช้ในโค้ดของคุณ

SyntaxError:อักขระที่ไม่คาดคิดหลังอักขระต่อเนื่องของบรรทัด

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

ในขณะที่การติดตามโค้ดที่ยาวมากๆ อาจเป็นเรื่องยาก แต่โค้ดหนึ่งบรรทัดที่แบ่งออกเป็นหลายบรรทัดจึงง่ายกว่า

อักขระต่อเนื่องของบรรทัดมักใช้เพื่อแยกโค้ดหรือเขียนสตริงยาวๆ ในโค้ดหลายบรรทัด:

url = "https://careerkarma.com" \
      "/blog/python-syntaxerror-unexpected-character-after" \
      "line-continuation-character"

เราได้แยกสตริงของเราออกเป็นสามบรรทัด ทำให้ง่ายต่อการอ่านโค้ดของเรา

สองสถานการณ์ที่อาจเกิดข้อผิดพลาดนี้ ได้แก่:

81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้

ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก

  • การใช้แบ็กสแลชแทนเครื่องหมายทับเป็นตัวดำเนินการหาร
  • การเพิ่มบรรทัดใหม่ให้กับสตริงโดยไม่ต้องใส่อักขระขึ้นบรรทัดใหม่ในวงเล็บ

เราจะพูดถึงสถานการณ์เหล่านี้ทีละคน

สถานการณ์ #1:กองโดยใช้แบ็กสแลช

ที่นี่เราเขียนโปรแกรมที่คำนวณดัชนีมวลกายของบุคคล (BMI) ในการเริ่มต้น เราต้องขอให้ผู้ใช้ใส่ส่วนสูงและน้ำหนักลงในโปรแกรม Python:

height = input("What is your height? ")
weight = input("What is your weight? ")

ต่อไปเราจะคำนวณค่าดัชนีมวลกายของผู้ใช้ สูตรคำนวณค่า BMI คือ

BMI = kg/m2

“กก” คือน้ำหนักของคนเป็นกิโลกรัม “ม 2 ” คือความสูงของคนยกกำลังสอง เมื่อแปลเป็น Python แล้ว สูตรคำนวณ BMI จะมีลักษณะดังนี้:

bmi = float(weight) \ (float(height) * 2)
print("Your BMI is: " + str(bmi))

เราแปลงค่าของ "น้ำหนัก" และ "ส่วนสูง" เป็นตัวเลขทศนิยม เพื่อให้เราสามารถดำเนินการฟังก์ชันทางคณิตศาสตร์กับค่าเหล่านี้ได้

จากนั้นเราจะพิมพ์ BMI ของผู้ใช้ไปที่คอนโซล เราแปลง “bmi” เป็นสตริงโดยใช้เมธอด str() เพื่อให้เราสามารถต่อเข้ากับข้อความ “Your BMI is:” เราปัดเศษค่าของ "bmi" เป็นทศนิยมสองตำแหน่งโดยใช้วิธี round()

เรียกใช้รหัสของเรา:

  File "main.py", line 4
	bmi = float(weight) \ (float(height) * 2)
                                        	^
SyntaxError: unexpected character after line continuation character

เราพบข้อผิดพลาด เนื่องจากเราใช้ “\" เป็นตัวดำเนินการหารแทนเครื่องหมาย “/” เราแก้ไขโค้ดได้โดยใช้ตัวดำเนินการส่วน “/”:

bmi = float(weight) / (float(height) * 2)
print("Your BMI is: " + str(round(bmi, 2)))

รหัสของเราส่งคืน:

What is your height? 1.70
What is your weight? 63
Your BMI is: 18.53

รหัสของเราคำนวณ BMI ของผู้ใช้สำเร็จแล้ว

สถานการณ์ #2:การใช้อักขระขึ้นบรรทัดใหม่ไม่ถูกต้อง

ต่อไป เราเขียนโปรแกรมที่เขียนรายการส่วนผสมลงในไฟล์ เราเริ่มต้นด้วยการกำหนดรายการส่วนผสมสำหรับสูตรขนมชนิดร่วน:

ingredients = [
	"150g plain flour",
	"100g butter, chilled an cubed",
	"50g caster sugar"
]

ต่อไป เราเปิดไฟล์ชื่อ “shortbread_recipe.txt” ซึ่งเราจะเขียนรายการส่วนผสมของเรา:

with open("shortbread_recipe.txt", "w+") as ingredients_file:
	for i in ingredients:
		ingredients_file.write(i + \n)

รหัสนี้วนซ้ำทุกส่วนผสมในตัวแปร "ส่วนผสม" ส่วนผสมแต่ละรายการจะถูกเขียนลงในไฟล์ส่วนผสม ตามด้วยอักขระขึ้นบรรทัดใหม่ใน Python (“\n”) เพื่อให้แน่ใจว่าส่วนผสมแต่ละอย่างปรากฏในบรรทัดใหม่

เรียกใช้โค้ด Python ของเรา:

  File "main.py", line 9
	ingredients_file.write(i + \n)
                             	^
SyntaxError: unexpected character after line continuation character

รหัสของเราส่งคืนข้อผิดพลาด เนื่องจากเราไม่ได้ใส่อักขระขึ้นบรรทัดใหม่ไว้ในเครื่องหมายคำพูด

แม้ว่าอักขระขึ้นบรรทัดใหม่จะเป็นอักขระพิเศษ แต่ต้องอยู่ภายในเครื่องหมายคำพูดทุกครั้งที่มีการใช้ เนื่องจาก Python ถือว่า “\" เป็นอักขระต่อเนื่องของบรรทัด

ในการแก้ไขข้อผิดพลาดในโค้ดของเรา เราต้องใส่อักขระขึ้นบรรทัดใหม่ด้วยเครื่องหมายคำพูดคู่:

with open("shortbread_recipe.txt", "w+") as ingredients_file:
		for i in ingredients:
			 ingredients_file.write(i + "\n")

เรียกใช้รหัสของเรา รหัสของเราไม่คืนค่าให้กับคอนโซล ไฟล์ใหม่ชื่อ “shortbread_recipe.txt” จะถูกสร้างขึ้น เนื้อหามีดังนี้:

150g plain flour
100g butter, chilled an cubed
50g caster sugar

รหัสของเราพิมพ์รายการของเราลงในไฟล์ “shortbread_recipe.txt” สำเร็จแล้ว

บทสรุป

ข้อผิดพลาด "SyntaxError:อักขระที่ไม่คาดคิดหลังอักขระต่อเนื่องของบรรทัด" ปรากฏขึ้นเมื่อคุณเพิ่มโค้ดหลังอักขระต่อเนื่องของบรรทัด

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

ตอนนี้คุณพร้อมที่จะแก้ไขข้อผิดพลาดนี้ในโค้ดของคุณแล้ว!