Câu hỏi:
13/07/2024 3,135Cho trước dãy số bất kì A. Em hãy viết chương trình tìm và chỉ ra vị trí đầu tiên của dãy A mà 3 số hạng liên tiếp có giá trị là 1, 2, 3 (có thể tổng quát 3 số bất kì p, q, s). Nếu tìm thấy thì thông báo vị trí tìm thấy, nếu không thì thông báo "không tìm thấy mẫu".
Quảng cáo
Trả lời:
Để kiểm tra tại một chỉ số i, 3 phần tử liên tiếp nhau bằng 1, 2, 3 có nhiều cách kiểm tra khác nhau, ví dụ:
Cách 1. Sử dụng biểu thức lôgic.
A[i] == 1 and A[i] == 2 and A[i] == 3
Cách 2. Sử dụng so sánh có chứa vùng chỉ số.
A[i:i+3] == [1,2,3]
Chương trình có thể viết như sau:
A = [0,4,0,1,2,3,8,9,0,1,2,3,17,-16,0,1,2]
p = [1,2,3]
pkq = -1
i = 0
while i < len(A) - 3 and pkq == -1:
if A[i: i+3] == p:
pkq = i
else:
i = i + 1
if pkq >= 0 :
print("Tìm thấy mẫu",p,"tại vị trí", pkq)
else:
print("Không tìm thấy mẫu",p)
Hot: Học hè online Toán, Văn, Anh...lớp 1-12 tại Vietjack với hơn 1 triệu bài tập có đáp án. Học ngay
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Lời giải
Chương trình có thể viết như sau:
a = float(input("Nhập số thực dương a:"))
while a <= 0:
print("Nhập sai, số a phải lớn hơn 0. Hãy nhập lại.")
a = float(input("Nhập số thực dương a:"))
Lời giải
Hướng dẫn:
Từ yêu cầu của đề bài chúng ta sẽ thiết lập thủ tục chính printBCC() có chức năng in bảng cửu chương. Thủ tục này sẽ có hai phần độc lập, phần đầu in 5 khối thuộc hàng thứ nhất là bảng cửu chương của các số 1, 2, 3, 4, 5. Phần sau của thủ tục sẽ in 5 khối thuộc hàng thứ hai là bảng cửu chương của các số 6, 7, 8, 9, 10.
Để thể hiện chính xác và cân đối trên màn hình chúng ta thiết lập thêm hai hàm:
- Hàm st(num) để tạo xâu kí tự thể hiện số num. Nếu num là số có 1 chữ số thì st(num) sẽ chèn 1 dấu cách phía trước num.
- Hàm space(k) thể hiện k dấu cách trên màn hình.
Nhập, chạy thử và kiểm tra kết quả chương trình sau:
def st(n):
if n < 10:
return" "+str(n)
else:
return str(n)
def space(k):
return" "*k
def printBCC():
for h in range (10):
i = h+1
for j in range (1,6):
print(st(j) + " x " + st(i) + " = " + st(i*j) + space(2), end = " ")
print()
print()
for h in range(10):
i = h+1
for j in range (6,11):
print(st(j) + " x " + st(i) + " = " + st(i*j) + space(2), end = " ")
print()
# Chương trình chính
printBCC()
* Chương trình nhập lên phần mềm lập trình Python:
* Kết quả chạy thử chương trình:
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Trắc nghiệm Tin học 10 Kết nối tri thức Bài 29 có đáp án
15 câu trắc nghiệm Tin học 10 Kết nối tri thức Bài 27 có đáp án
15 câu trắc nghiệm Tin học 10 Kết nối tri thức Bài 28 có đáp án
15 câu trắc nghiệm Tin học 10 Kết nối tri thức Bài 26 có đáp án
Đề kiểm tra học kì 2 Tin học 10 Kết nối tri thức có đáp án - Đề 1
15 câu trắc nghiệm Tin học 10 Kết nối tri thức Bài 22 có đáp án
15 câu trắc nghiệm Tin học 10 Kết nối tri thức Bài 20 có đáp án
15 câu trắc nghiệm Tin học 10 Kết nối tri thức Bài 21 có đáp án
Hãy Đăng nhập hoặc Tạo tài khoản để gửi bình luận