Giả sử chúng ta có một chuỗi đại diện cho một định danh. Chúng tôi phải kiểm tra xem nó có hợp lệ hay không. Có một số tiêu chí dựa vào đó chúng tôi có thể xác định xem nó có hợp lệ hay không.
- Nó phải bắt đầu bằng dấu gạch dưới '_' hoặc bất kỳ chữ cái viết hoa hoặc viết thường nào
- Nó không chứa bất kỳ khoảng trắng nào
- Tất cả các ký tự tiếp theo sau ký tự đầu tiên không được chứa bất kỳ ký tự đặc biệt nào như $, #,%, v.v.
Nếu cả ba điều này đều hợp lệ thì chỉ chuỗi là số nhận dạng hợp lệ.
Vì vậy, nếu đầu vào giống như id ="_hello_56", thì đầu ra sẽ là True.
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
- nếu ký tự đầu tiên trong s không phải là chữ cái và không phải là dấu gạch dưới, thì
- trả về Sai
- đối với mỗi ký tự ch trong s [từ chỉ mục 1 đến cuối], hãy thực hiện
- nếu ch không phải là chữ và số và ch không phải là dấu gạch dưới, thì
- trả về Sai
- nếu ch không phải là chữ và số và ch không phải là dấu gạch dưới, thì
- trả về True
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
Mã mẫu
def solve(s): if not s[0].isalpha() and s[0] != '_': return False for ch in s[1:]: if not ch.isalnum() and ch != '_': return False return True id = "_hello_56" print(solve(id))
Đầu vào
"_hello_56"
Đầu ra
True