Chỉ cho phép các chữ cái khi lấy đầu vào của người dùng trong Python #
Chỉ cho phép các chữ cái khi lấy đầu vào của người dùng:
- Sử dụng vòng lặp
while
để lặp lại cho đến khi người dùng chỉ nhập các chữ cái. - Sử dụng phương thức
str.isalpha[]
để kiểm tra xem người dùng chỉ nhập các chữ cái. - Nếu điều kiện được đáp ứng, thoát ra khỏi vòng lặp.
Copied!
user_input = '' while True: user_input = input['Enter letters only: '] if not user_input.isalpha[]: print['Enter only letters'] continue else: print[user_input] break
Chúng tôi đã sử dụng vòng lặp while
để lặp lại cho đến khi người dùng chỉ nhập các chữ cái.
Trên mỗi lần lặp, chúng tôi kiểm tra xem người dùng không chỉ nhập các chữ cái và sử dụng câu lệnh continue
nếu điều kiện được đáp ứng.
Tuyên bố continue
tiếp tục với lần lặp tiếp theo của vòng lặp.
Phương thức str.isalpha [] trả về
0 Nếu tất cả các ký tự trong chuỗi là bảng chữ cái và có ít nhất một ký tự, nếu khôngCopied!
print['avocado'.isalpha[]] # 👉️ True # 👇️ contains space print['one two'.isalpha[]] # 👉️ False
1 được trả về.Copied!
print['avocado'.isalpha[]] # 👉️ True # 👇️ contains space print['one two'.isalpha[]] # 👉️ False
Copied!
print['avocado'.isalpha[]] # 👉️ True # 👇️ contains space print['one two'.isalpha[]] # 👉️ False
Nếu bạn cũng muốn cho phép khoảng trống, hãy cuộn xuống đoạn mã cuối cùng.
Nếu người dùng chỉ nhập các chữ cái, chúng tôi in giá trị đầu vào và thoát ra khỏi vòng lặp.
Tuyên bố phá vỡ thoát ra khỏi vòng lặp
2 hoặcCopied!
print['avocado'.isalpha[]] # 👉️ True # 👇️ contains space print['one two'.isalpha[]] # 👉️ False
while
.Hàm đầu vào có một đối số
4 tùy chọn và ghi nó vào đầu ra tiêu chuẩn mà không cần một dòng mới.Copied!
print['avocado'.isalpha[]] # 👉️ True # 👇️ contains space print['one two'.isalpha[]] # 👉️ False
Ngoài ra, bạn có thể sử dụng một biểu thức thông thường.
Copied!
import re user_input = '' while True: user_input = input['Enter letters only: '] if not re.match[r'^[a-zA-Z]+$', user_input]: print['Enter only letters'] continue else: print[user_input] break
Snippet mã đạt được kết quả tương tự nhưng sử dụng biểu thức chính quy để xác thực đầu vào của người dùng.
Nếu bạn cũng muốn cho phép không gian, hãy sử dụng biểu thức thông thường sau.
Copied!
import re user_input = '' while True: user_input = input['Enter letters only: '] # 👇️ also allows spaces if not re.match[r'^[a-zA-Z\s]+$', user_input]: print['Enter only letters'] continue else: print[user_input] break
Phương thức Re.Match trả về một đối tượng
5 nếu biểu thức thông thường được cung cấp được khớp trong chuỗi.Copied!
print['avocado'.isalpha[]] # 👉️ True # 👇️ contains space print['one two'.isalpha[]] # 👉️ False
Phương thức
5 trả vềCopied!
print['avocado'.isalpha[]] # 👉️ True # 👇️ contains space print['one two'.isalpha[]] # 👉️ False
7 nếu chuỗi không khớp với mẫu regex.Copied!
print['avocado'.isalpha[]] # 👉️ True # 👇️ contains space print['one two'.isalpha[]] # 👉️ False
Đối số đầu tiên chúng tôi đã chuyển cho
8Method là một biểu thức chính quy.Copied!
print['avocado'.isalpha[]] # 👉️ True # 👇️ contains space print['one two'.isalpha[]] # 👉️ False
Các dấu ngoặc vuông
9 được sử dụng để chỉ ra một tập hợp các ký tự.Copied!
print['avocado'.isalpha[]] # 👉️ True # 👇️ contains space print['one two'.isalpha[]] # 👉️ False
Các ký tự Copied! Copied!
0 và import re
user_input = ''
while True:
user_input = input['Enter letters only: ']
if not re.match[r'^[a-zA-Z]+$', user_input]:
print['Enter only letters']
continue
else:
print[user_input]
break
1 đại diện cho phạm vi chữ thường và chữ hoa của các chữ cái.import re
user_input = ''
while True:
user_input = input['Enter letters only: ']
if not re.match[r'^[a-zA-Z]+$', user_input]:
print['Enter only letters']
continue
else:
print[user_input]
break
CARET
2 phù hợp với sự khởi đầu của chuỗi và dấu đô laCopied!
import re user_input = '' while True: user_input = input['Enter letters only: '] if not re.match[r'^[a-zA-Z]+$', user_input]: print['Enter only letters'] continue else: print[user_input] break
3 phù hợp với kết thúc của chuỗi.Copied!
import re user_input = '' while True: user_input = input['Enter letters only: '] if not re.match[r'^[a-zA-Z]+$', user_input]: print['Enter only letters'] continue else: print[user_input] break
Cộng với
4 làm cho biểu thức chính quy khớp với 1 hoặc nhiều sự lặp lại của ký tự trước [phạm vi chữ cái].Copied!
import re user_input = '' while True: user_input = input['Enter letters only: '] if not re.match[r'^[a-zA-Z]+$', user_input]: print['Enter only letters'] continue else: print[user_input] break
Copied!
import re user_input = '' while True: user_input = input['Enter letters only: '] # 👇️ also allows spaces if not re.match[r'^[a-zA-Z\s]+$', user_input]: print['Enter only letters'] continue else: print[user_input] break
Nhân vật
5 phù hợp với các ký tự khoảng trắng unicode nhưCopied!
import re user_input = '' while True: user_input = input['Enter letters only: '] if not re.match[r'^[a-zA-Z]+$', user_input]: print['Enter only letters'] continue else: print[user_input] break
6.Copied!
import re user_input = '' while True: user_input = input['Enter letters only: '] if not re.match[r'^[a-zA-Z]+$', user_input]: print['Enter only letters'] continue else: print[user_input] break
Nếu người dùng không chỉ nhập các chữ cái, chúng tôi sẽ sử dụng câu lệnh continue
để nhắc chúng lại để nhập.
Mặt khác, chúng tôi sử dụng câu lệnh
8 để thoát ra khỏi vòng lặpCopied!
import re user_input = '' while True: user_input = input['Enter letters only: '] if not re.match[r'^[a-zA-Z]+$', user_input]: print['Enter only letters'] continue else: print[user_input] break
while
.Nếu bạn cần trợ giúp đọc hoặc viết một biểu thức chính quy, hãy tham khảo ý kiến phân nhóm cú pháp biểu thức thông thường trong các tài liệu chính thức.
Trang chứa một danh sách tất cả các ký tự đặc biệt với nhiều ví dụ hữu ích.