Trong Python 3, bạn phải đặt tất cả các câu lệnh in bằng dấu ngoặc đơn. Nếu bạn cố gắng in một chuỗi ra bảng điều khiển mà không đặt chuỗi đó trong dấu ngoặc đơn, bạn sẽ gặp phải lỗi “SyntaxError:Thiếu dấu ngoặc đơn trong lệnh gọi đến‘ print ’”.
Hướng dẫn này thảo luận về lỗi này có nghĩa là gì và cách sử dụng câu lệnh in trong Python. Chúng tôi sẽ xem qua một ví dụ về lỗi này để bạn có thể tìm hiểu cách giải quyết.
SyntaxError:Thiếu dấu ngoặc đơn trong lệnh gọi đến 'print'
Python 3 là bản cập nhật lớn thứ ba cho ngôn ngữ lập trình. Trong những năm gần đây, nó đã trở thành phiên bản Python được ưu tiên sử dụng.
Python 3 đã thay đổi cách viết các câu lệnh in. print
độc lập câu lệnh hoạt động trong Python 2 và in một câu lệnh ra bảng điều khiển.
Trong Python 3, print
là một chức năng. Điều này có nghĩa là bạn cần bao quanh nội dung của chuỗi bạn muốn in vào bảng điều khiển trong dấu ngoặc đơn giống như bạn làm với bất kỳ lệnh gọi hàm thông thường nào.
Một tình huống mẫu
Viết một chương trình in ra tên của tất cả các học sinh trong lớp bốn có tên bắt đầu bằng “A”. Để bắt đầu, hãy xác định một danh sách có chứa tên của các sinh viên trong lớp:
students = ["Alex", "Alexander", "Piper", "Molly", "Hannah"]
Tiếp theo, viết một vòng lặp for lặp lại tất cả các mục trong danh sách này. Trong vòng lặp for, chúng tôi sẽ sử dụng if
để kiểm tra xem mỗi tên có bắt đầu bằng “A” hay không:
for s in students: if s.startswith("A") == True: print s
Phương thức startwith () kiểm tra xem một chuỗi có bắt đầu bằng một ký tự hoặc một bộ ký tự cụ thể hay không. Mã kiểm tra xem mỗi tên trong danh sách "sinh viên" có bắt đầu bằng "A" hay không.
81% người tham gia cho biết họ cảm thấy tự tin hơn về triển vọng công việc công nghệ của mình sau khi tham gia một cuộc thi đào tạo. Kết hợp với bootcamp ngay hôm nay.
Sinh viên tốt nghiệp bootcamp trung bình dành ít hơn sáu tháng để chuyển đổi nghề nghiệp, từ khi bắt đầu bootcamp đến khi tìm được công việc đầu tiên của họ.
Thêm một câu lệnh in bổ sung vào cuối mã cho chúng tôi biết chương trình đã chạy xong:
print "Above are all the students whose names begin with A."
Bây giờ bạn đã sẵn sàng để chạy chương trình:
File "main.py", line 5 print s ^ SyntaxError: Missing parentheses in call to 'print'. Did you mean print(s)?
Mã thông báo cho chúng tôi rằng có lỗi cú pháp trong chương trình.
Giải pháp
Một cách dễ hiểu, Python đã đưa ra giải pháp cho vấn đề trong thông báo lỗi.
Điều này là do, trong các phiên bản trước của Python 3, việc quên bao gồm dấu ngoặc đơn xung quanh câu lệnh in đã gây ra lỗi chỉ hiển thị "cú pháp không hợp lệ". Thông báo này không rõ ràng vì cú pháp không hợp lệ có thể do một số vấn đề gây ra. Do đó, Python đã giới thiệu thông báo lỗi "thiếu dấu ngoặc đơn" mới để trợ giúp người dùng.
Để giải quyết vấn đề này, hãy đặt tất cả các giá trị bạn muốn in vào bảng điều khiển trong dấu ngoặc đơn:
for s in students: if s.startswith("A") == True: print(s) print("Above are all the students whose names begin with A.")
Bạn đã đính kèm chữ “s” trên print
dòng mã trong ngoặc đơn. Bạn cũng đã đặt chuỗi cuối cùng bạn in ra bảng điều khiển trong dấu ngoặc đơn. Hãy xem chương trình có hoạt động không:
Alex Alexander Above are all the students whose names begin with A.
Mã của chúng tôi cho chúng tôi thấy rằng có hai sinh viên có tên bắt đầu bằng A. Khi danh sách sinh viên của chúng tôi đã được lặp lại, chương trình của chúng tôi sẽ in ra một thông báo mô tả kết quả đầu ra.
Kết luận
Lỗi “SyntaxError:Thiếu dấu ngoặc đơn trong lệnh gọi đến‘ print ’” xuất hiện khi bạn cố gắng in một giá trị vào bảng điều khiển mà không đặt giá trị đó trong dấu ngoặc đơn.
Để giải quyết lỗi này, hãy thêm dấu ngoặc đơn xung quanh bất kỳ câu lệnh nào bạn muốn in ra bảng điều khiển. Điều này là do, trong Python 3, print
không phải là một tuyên bố. Nó là một chức năng. Bạn phải gọi một hàm bằng cách sử dụng dấu ngoặc đơn nếu bạn muốn chạy nó.
Bây giờ bạn đã có kiến thức cần thiết để sửa lỗi Python phổ biến này như một người chuyên nghiệp!