Cách print thông báo nhập sai kiểu dữ liệu trong python 3?
Ví dụ mình có chương trình python tính tổng như thế này, mình eps kiểu dữ liệu là số, chạy đúng nếu mình nhập số:
print ("Tinh tong 2 so tu nhien")
print ("Nhap so a: ")
a = int(input())
print ("Nhap so b: ")
b = int(input())
c = a+b
print ("Ket qua la: %s" %c)
Mình gán kiểu dữ liệu nhập vào là số, nếu mình nhập kí tự là abc vào thì nó sẽ báo lỗi thế này
Traceback (most recent call last):
File "tinh_tong.py", line 5, in <module>
b = int(input())
ValueError: invalid literal for int() with base 10: 'abc'
Mình nhớ không lầm là có một vòng lặp nếu nhập kí tự thì vòng lặp đó sẽ bắt nhập lại hoặc lệnh if kiểm tra có phải là số sau đó in ra thông báo chứ không ai in ra cái code lỗi thế kia, mình nhớ không lầm gọi là bẫy lỗi, phải ép ra thông báo chứ không in lỗi, nhờ pro hướng dẫn.
Xin cám ơn!
bạn có thể thay đoạn:
bằng:
Mình nghĩ có thể dùng decorator nhưng chưa tìm ra cách, bạn nào biết thì giúp thêm nhé
Dùng isdigit nhá
http://www.tutorialspoint.com/python/string_isdigit.htm
Đoạn này không được bạn à, mình thử thay đoạn này vòng lặp sẽ chạy hoài luôn mà không qua được bước tiếp theo
Bạn thay continue bằng break là được mà
continue là bắt nhập đến khi nào đúng thì thôi. Chẳng phải đó là mục đích của bạn?