Kiểm tra Luhn cho chữ số ASCII
Kiểm tra chuỗi tổng hợp gồm 2 đến 64 chữ số ASCII bằng tổng Luhn.
def luhn_valid(text):
if type(text) is not str or not 2 <= len(text) <= 64:
raise ValueError("luhn.length")
if any(char < "0" or char > "9" for char in text):
raise ValueError("luhn.alphabet")
total = 0
for index, char in enumerate(reversed(text)):
digit = ord(char) - ord("0")
if index % 2:
digit *= 2
if digit > 9:
digit -= 9
total += digit
return total % 10 == 0Mô hình
Cấu hình endpoint tương thích OpenAI hoặc Anthropic bằng URL cơ sở và khóa API nếu cần. Kiểm tra kết nối. Máy chủ mô hình cục bộ phải đang chạy; công cụ từ xa có thể truyền dữ liệu riêng.
Dự án
Giữ số không đầu và thử cả độ dài chẵn lẫn lẻ, từ chối khoảng trắng và chữ số ngoài ASCII mà không khẳng định tài khoản hợp lệ.
Kiểm tra trước khi áp dụng
So sánh hành vi thực tế với kết quả mong đợi. Nếu kiểm tra thất bại, tìm nguyên nhân trước khi sửa tiếp.
def luhn_valid(text):
if type(text) is not str or not 2 <= len(text) <= 64:
raise ValueError("luhn.length")
if any(char < "0" or char > "9" for char in text):
raise ValueError("luhn.alphabet")
total = 0
for index, char in enumerate(reversed(text)):
digit = ord(char) - ord("0")
if index % 2:
digit *= 2
if digit > 9:
digit -= 9
total += digit
return total % 10 == 0Rà soát kiểm tra đầu vào mà không mất văn bản gốc
Mã kiểm tra có hai trách nhiệm dễ bị trộn lẫn: xác định đầu vào hợp lệ và quyết định ý nghĩa đầu vào đó. DigitTally là không gian lập trình AI trên Windows nơi bạn trao đổi các trách nhiệm đó dựa trên tệp nguồn của dự án. Đưa ví dụ giả lập, kết quả mong đợi và mã gọi xử lý đầu vào bị từ chối, rồi yêu cầu mô hình xem ranh giới hiện tại.
Ví dụ kiểm tra Luhn là tác vụ tập trung vào chuỗi chữ số. Mô tả cách giữ số không đầu chuỗi và tập ký tự ứng dụng chấp nhận trước khi yêu cầu chỉnh sửa. Hỏi cách thay đổi đề xuất phân biệt giá trị sai định dạng với giá trị không đạt tổng kiểm. Tách hai kết quả giúp rà soát cả mã biểu mẫu hoặc nhập dữ liệu xung quanh lẫn phép tính.
Kiểm tra đề xuất bằng dữ liệu giả lập có độ dài khác nhau, kể cả ký tự không được phép, và chạy kiểm thử dự án liên quan. Kết quả tổng kiểm là bằng chứng về phép tính đó, không phải bằng chứng tài khoản tồn tại. DigitTally kết nối các điểm cuối tương thích OpenAI hoặc Anthropic được hỗ trợ; cấu hình thông tin xác thực khi cần. Bạn có thể chọn mô hình không hạn chế nếu dịch vụ cung cấp, với quy tắc nhà cung cấp, công cụ và dung lượng ngữ cảnh do kết nối đó quyết định. Đánh giá mã bằng quy ước đầu vào đã thiết lập.
Câu hỏi về công việc kiểm tra mã định danh
Vì sao dùng mã định danh giả lập trong cuộc trao đổi?
Chúng tái hiện hành vi định dạng và tổng kiểm mà không chia sẻ thông tin tài khoản thật. Chọn dữ liệu giữ độ dài và số không đầu chuỗi liên quan, rồi ghi kết quả mong đợi để trợ lý xem mã với các ca đã biết.
Có nên chuyển chuỗi chữ số thành số trước không?
Xem phép chuyển đổi có làm mất thông tin ứng dụng cần, như số không đầu chuỗi, hay không. Quy ước minh họa coi đầu vào là văn bản. Yêu cầu trợ lý giữ quy ước qua bước kiểm tra đến xử lý lỗi ở mã gọi.
Đạt tổng kiểm chứng minh điều gì?
Chỉ chứng minh giá trị thỏa quy tắc tổng kiểm đã triển khai. Nó không xác minh tài khoản tồn tại, quyền sở hữu hay quyền giao dịch. Đừng đưa các yêu cầu ứng dụng riêng đó vào tuyên bố về thủ tục kiểm tra minh họa này.
Cần dữ liệu kiểm thử cho trường hợp chẵn lẻ nào?
Bao gồm cả độ dài lẻ và chẵn được hỗ trợ, cùng ký tự bị từ chối và độ dài biên. Chạy các ca sau khi rà soát chỉnh sửa đề xuất để thay đổi thứ tự lặp không âm thầm đổi các vị trí được nhân đôi.
DigitTally · Cập nhật 2026-10-25