Tìm mẫu
Thuộc phần Kiến thức nền tảng trong hành trình GDScript của Coddy. Bài học 91 trên 92.
Thử thách
Trung bìnhViết hàm (function) find_occurrences phía trên _ready(). Hàm này:
- Nhận hai chuỗi (string):
textvàpattern - Đếm số lần
patternxuất hiện trongtext, kể cả những lần xuất hiện chồng lấp - Trả về một mảng (array) có ba phần tử:
truenếu tìm thấy mẫu, nếu không thìfalse- Số lần xuất hiện
- Một mảng chứa vị trí bắt đầu của mỗi lần xuất hiện
Ví dụ, nếu text là "abababab" và pattern là "aba", hàm trả về [true, 3, [0, 2, 4]], vì "aba" bắt đầu ở các vị trí 0, 2 và 4.
Nếu không tìm thấy mẫu, hãy trả về [false, 0, []].
_ready() có sẵn để đọc hai chuỗi, gọi hàm của bạn và in kết quả. Thay pass bằng phần thân của hàm.
Tự làm thử
extends Node
func find_occurrences(text, pattern):
# Viết code của bạn ở đây
pass
func _ready():
var text := OS.read_string_from_stdin()
var pattern := OS.read_string_from_stdin()
# Gọi hàm (function) và in kết quả ra
var result = find_occurrences(text, pattern)
print(result)
Tất cả bài học trong Kiến thức nền tảng
4Toán tử phần 1
Toán tử số họcPhép chia lấy phần nguyênToán tử moduloPhép tính số học rút gọnÔn tập, phép tính đơn giảnToán tử so sánh7Nhập xuất cơ bản
Đầu raĐầu ra với biếnĐịnh dạng chuỗiĐầu vàoÉp kiểuÔn tập đến 120Ôn tập đúng hay sai10Hàm
Khai báo hàmĐối sốTrả vềKiểu trả vềÔn tập: hàm SigmaÔn tập: hàm kiểm tra hợp lệGiá trị mặc định16Theo dõi chi tiêu hằng ngày
Tổng quan dự ánThoát chương trình5Toán tử phần 2
Toán tử logic phần 1Toán tử logic phần 2Ôn tập: logic đơn giảnToán tử logic phần 3Toán tử ba ngôi8Máy tính chia hóa đơn
Lời chàoNhận đầu vào3Biến, phần 2
Khai báo kiểu dữ liệuSuy luận kiểu dữ liệuHằng sốÔn tập: khởi tạo biếnChuyển đổi kiểu dữ liệu9Vòng lặp
Vòng lặp forVòng lặp whileBreakContinueÔn tập: giai thừaHàm rangeVòng lặp lồng nhauÔn tập: đầu vào độngTự luyện tập: Trình biên dịch GDScript online