Thật lạ lùng, cách hiệu quả nhất để xác định xem chuỗi của 3 ký tự có theo thứ tự liên tiếp không?làm cách nào để kiểm tra xem 3 ký tự có theo thứ tự alpha liên tiếp hay không
Dưới một cách nhanh chóng & cách bẩn dường như hoạt động, các triển khai khác đẹp hơn?
Tôi giả sử một phương pháp thay thế có thể là sắp xếp một bản sao trình tự và so sánh nó với bản gốc. Không, điều đó sẽ không tài khoản cho những khoảng trống trong chuỗi.
(Đây không phải là bài tập về nhà - nghe để NPR Sunday Morning progam sẽ bí quyết)
def checkSequence(n1, n2, n3):
""" check for consecutive sequence of 3 """
s = ord('a')
e = ord('z')
# print n1, n2, n3
for i in range(s, e+1):
if ((n1+1) == n2) and ((n2+1) == n3):
return True
return False
def compareSlice(letters):
""" grab 3 letters and sent for comparison """
letters = letters.lower()
if checkSequence(ord(letters[0]), ord(letters[1]), ord(letters[2])):
print '==> seq: %s' % letters
return True
return False
Đây có phải là [Lý do] (http://www.npr.org/2012/04/08/150202658/a- mix-up-at-the-music-fest)? – eabraham
Dường như bước tiếp theo là từ điển để kiểm tra. Hãy thử [this] (http://thedatahub.org/dataset/wiktionary/resource/8147edd1-6932-4816-aa88-2fa4fdc60ab5). – eabraham
@eabraham Đóng .. :-) – Levon