Cách sửa lỗi eof trong python 3

Trong Python, EOFError là một ngoại lệ xuất hiện khi các hàm như input[] và raw_input[] trả về cuối tệp [EOF] mà không đọc bất kỳ đầu vào

Hãy lấy hai số từ người dùng, cộng chúng lại và hiển thị kết quả. Hàm input[] lấy đầu vào từ người dùng và chuyển đổi nó thành một chuỗi

Vì muốn cộng hai số nên ta cần chuyển chuỗi thành int. Trong Python   2. x, hàm raw_input[]   tương tự như hàm input[] trong Python 3. x.

 

Xem xét ví dụ sau

 

#python 3.6
value1 = int[input["Enter value 1: "]]
value2 = int[input["Enter value2: "]]
result = value1 + value2
print[f"The sum of {value1} and {value2} is: {result}"]

 

Nếu người dùng nhập chính xác cả hai giá trị, thì chương trình sẽ chạy mà không có bất kỳ Ngoại lệ EOFError nào

Enter value1: 10
Enter value2: 5
The sum of 10 and 5 is: 15

 

Bây giờ, hãy xem điều gì sẽ xảy ra nếu chúng ta nhấn Ctrl + D để thoát khỏi quy trình khi đầu vào đang được lấy

 

EOFError trong Python là gì

 

Như bạn có thể thấy trong đầu ra ở trên, một ngoại lệ EOFError được đưa ra khi hàm trả về mà không lấy bất kỳ dữ liệu nào

 

Xử lý ngoại lệ EOFError

Chúng ta có thể xử lý ngoại lệ này bằng cách sử dụng khối try and except. Mã đáng ngờ được thêm vào bên trong khối thử và việc xử lý ngoại lệ được thực hiện trong khối ngoại trừ

Nếu không có ngoại lệ nào được nêu ra, tôi. e. , người dùng chèn đúng cả 2 đầu vào thì khối try mới chạy. Mặt khác, khối ngoại trừ sẽ có quyền kiểm soát khi xảy ra ngoại lệ

Lưu ý rằng chúng tôi chỉ xem xét ngoại lệ EOFError ở đây

 

try:
  value1 = int[input["Enter value 1: "]]
  value2 = int[input["Enter value2: "]]
  result = value1 + value2
  print[f"The sum of {value1} and {value2} is: {result}"]
except EOFError as e:
  print["End-Of-File when reading input"]

 

 

Đầu ra ngoại lệ EOFError

 

Phần kết luận

Cảm ơn bạn đã đọc bài đăng trên blog này về EOFError trong Python là gì. Tôi hy vọng bài viết này đã làm rõ trong những trường hợp bạn có thể gặp phải một lỗi như vậy và cách ngăn chặn nó

Mã hóa vui vẻ

Đọc về cách lặp lại từ đầu chương trình trong Python ngay bây giờ

Marcel

này các cậu. Là tôi, Marcel, hay còn gọi là Maschi. Trên MaschiTuts, đó là tất cả về hướng dẫn. Bất kể chủ đề của bài viết là gì, mục tiêu luôn giống nhau. Cung cấp cho các bạn những hướng dẫn chuyên sâu và hữu ích nhất

Lỗi EOF thường xảy ra khi chương trình của bạn mong đợi đầu vào [muốn đọc đầu vào] nhưng không tìm thấy đầu vào. Trên sololearning, bạn phải nhập tất cả đầu vào ngay từ đầu. Và bạn đang sử dụng while True mà không có bất kỳ câu lệnh ngắt nào. Có nghĩa là, bạn sẽ cần phải nhập thời gian vô hạn. oẳn tù tì hoặc kéo để tránh lỗi eof. Vì vậy, tôi khuyên bạn chỉ nên để chương trình kết thúc khi người dùng hoặc bot thắng trò chơi

Thông báo lỗi giúp chúng tôi giải quyết/khắc phục sự cố trong mã của chúng tôi. Nhưng một số thông báo lỗi, khi bạn nhìn thấy chúng lần đầu tiên, có thể làm bạn bối rối vì chúng có vẻ không rõ ràng

Một trong những lỗi này là "SyntaxError. lỗi EOF không mong muốn trong khi phân tích cú pháp" mà bạn có thể gặp phải trong Python

Trong bài viết này, chúng ta sẽ xem tại sao lại xảy ra lỗi này và cách khắc phục bằng một số ví dụ

Cách khắc phục “Lỗi cú pháp. Lỗi EOF không mong muốn khi phân tích cú pháp”

Trước khi xem xét một số ví dụ, trước tiên chúng ta nên hiểu tại sao chúng ta có thể gặp phải lỗi này

Điều đầu tiên cần hiểu là thông báo lỗi có nghĩa là gì. EOF là viết tắt của Kết thúc tệp trong Python. EOF không mong đợi ngụ ý rằng trình thông dịch đã đến cuối chương trình của chúng tôi trước khi thực thi tất cả mã

Lỗi này có thể xảy ra khi

  • chúng tôi không thể khai báo câu lệnh cho vòng lặp [while/for]
  • chúng tôi bỏ qua dấu ngoặc đơn đóng hoặc dấu ngoặc nhọn trong một khối mã

Hãy xem ví dụ này

student = {
  "name": "John",
  "level": "400",
  "faculty": "Engineering and Technology"

Trong đoạn mã trên, chúng tôi đã tạo một từ điển nhưng quên thêm } [dấu ngoặc đóng] – vì vậy điều này chắc chắn sẽ gây ra "Lỗi cú pháp. lỗi EOF không mong muốn trong khi phân tích cú pháp" theo cách của chúng tôi

Sau khi thêm dấu ngoặc nhọn đóng, mã sẽ trông như thế này

student = {
  "name": "John",
  "level": "400",
  "faculty": "Engineering and Technology"
}

Điều này sẽ thoát khỏi lỗi

Hãy xem một ví dụ khác

i = 1
while i < 11:

Trong vòng lặp while ở trên, chúng ta đã khai báo biến và điều kiện nhưng bỏ qua câu lệnh sẽ chạy cho đến khi điều kiện được đáp ứng. Điều này sẽ gây ra lỗi

Đây là cách khắc phục

i = 1
while i < 11:
  print[i]
  i += 1
  

Bây giờ mã của chúng tôi sẽ chạy như mong đợi và in các giá trị của

Enter value1: 10
Enter value2: 5
The sum of 10 and 5 is: 15
1 từ 1 đến giá trị cuối cùng của
Enter value1: 10
Enter value2: 5
The sum of 10 and 5 is: 15
1 nhỏ hơn 11

Về cơ bản, đây là tất cả những gì cần thiết để khắc phục lỗi này. Không quá khó khăn, phải không?

Để đảm bảo an toàn, hãy luôn đính kèm mọi dấu ngoặc đơn và dấu ngoặc nhọn vào thời điểm chúng được tạo trước khi viết logic lồng trong chúng [hầu hết các trình soạn thảo mã/IDE sẽ tự động đính kèm chúng cho chúng ta]

Tương tự, luôn khai báo các câu lệnh cho các vòng lặp của bạn trước khi chạy mã

Phần kết luận

Trong bài viết này, chúng ta đã hiểu tại sao lỗi "SyntaxError. EOF bất ngờ trong khi phân tích cú pháp" xảy ra khi chúng tôi chạy mã của mình. Chúng tôi cũng đã xem một số ví dụ cho thấy cách khắc phục lỗi này

mã hóa hạnh phúc

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

Ihechikara Vincent Abba

Tiểu sử của tác giả này có thể được tìm thấy trong các bài viết của ông

Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn

Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu

Lỗi EOF trong Python 3 có nghĩa là gì?

EOF là viết tắt của End of File trong Python. EOF không mong muốn ngụ ý rằng trình thông dịch đã chạy đến cuối chương trình của chúng ta trước khi thực thi tất cả mã . Lỗi này có thể xảy ra khi. chúng tôi không khai báo một câu lệnh cho vòng lặp [ while / for ] chúng tôi bỏ qua dấu ngoặc đơn đóng hoặc dấu ngoặc nhọn trong một khối mã.

EOF viết tắt của Python là gì?

EOF là viết tắt của " cuối tệp ," và lỗi cú pháp này xảy ra khi Python phát hiện một câu lệnh hoặc khối mã chưa hoàn thành.

TypeError trong Python là gì?

Lỗi loại Python là một ngoại lệ xảy ra khi kiểu dữ liệu của một đối tượng trong một thao tác không phù hợp . Điều này có thể xảy ra khi một thao tác được thực hiện trên một đối tượng thuộc loại không chính xác hoặc nó không được hỗ trợ cho đối tượng.

Chủ Đề