
Tuyển tập các bài tập ôn học sinh giỏi tin 9 sưu tầm
GIÁO TRÌNH ÔN THI HỌC SINH GIỎI TIN LỚP 9
TRƯỜNG THCS VŨ LỄ NĂM HỌC 2024-2025
Biên soạn và sưu tầm: Đào Nguyễn Mạnh
TT Nội dung kiến thức Đơn vị kiến thức
Mức độ nhận thức Vận dụng Vận dụng cao % tổng
điểm
Số CH (số ý trong câu)
1 Sử dụng lệnh gán và thực hiện một số phép toán trên kiểu số nguyên, số thực, xâu kí tự – Thiết lập biến, sử dụng lệnh gán giá trị cho các biến
– Thực hiện các lệnh vào ra, chuyển đổi kiểu dữ liệu
– Các phép toán trên kiểu số nguyên, số thực, xâu kí tự 3 điểm
(1 câu) 15%
2 Lập trình thuật toán các cấu trúc điều khiển. Cấu trúc tuần tự, rẽ nhánh, lặp 5 điểm
(1 câu) 25%
3 Lập trình giải quyết các bài toán Số học, đại số Số chẵn, số lẻ, số nguyên tố, số hoàn hảo, ước số, bội số, ước chung lớn nhất, bội chung nhỏ nhất, chia hết, luỹ thừa, giải phương trình. 6 điểm
(1 câu) 30%
4 Lập trình làm việc với dữ liệu kiểu chuỗi, xâu kí tự. Duyệt xâu, ghép xâu, đếm số lần xuất hiện xâu con, tìm vị trí và xóa kí tự trong xâu; tách được xâu con; thay thế xâu con 6 điểm
(1 câu) 30%
Tổng – Tỉ lệ (%) 70% 30% 100%
III. Lập trình giải quyết các bài toán Số học, đại số
BÀI 1. Kiểm tra số chẵn/lẻ và sử dụng Boolean trong Python
BÀI 2. Đề bài: Viết chương trình sử dụng ngôn ngữ lập trình Python nhập vào một mảng các số nguyên. Thực hiện đếm và tính tổng các số chẵn, lẻ rồi hiển thị kết quả ra màn hình.
# Ho ten: Hoang Van Tuan
# Website: timoday.edu.vn
n = int(input(“Nhap vao so luong phan tu: “))
print(“Nhap vao phan tu cho mang:”)
a = [] for i in range(0, n):
print(“\tPhan tu thu”, (i+1), “la:”, end=” “)
a.append(int(input()))
print(“Mang vua nhap la:”)
for i in range(len(a)):
print(a[i], end=”\t”)
chan, le, s_chan, s_le = 0, 0, 0, 0
for i in a: if (i%2) == 0:
chan += 1 s_chan += i else:
le += 1 s_le += i
print(“\nSo luong phan tu chan la:”, chan)
print(“So luong phan tu le la:”, le)
print(“Tong cac phan tu chan la:”, s_chan)
print(“Tong cac phan tu le la:”, s_le)
Bài 3. Kiểm tra một số có phải là số nguyên tố không?
import math
#Khoi lenh co the phat sinh loi
try:
#Nhap gia tri tu ban phim
#Ep kieu du lieu sang so nguyen
n = int(input())
#Su dung cau truc re nhanh xu ly truong hop n <= 0
if n < 0:
print("Vui long nhap so tu nhien!")
elif n < 2:
print("{} khong la so nguyen to!".format(n))
else:
#Su dung vong lap for de duyet cac so tu 2 den can bac hai cua n
for i in range(2, int(math.sqrt(n))+1):
#Kiem tra tinh chia het
if n % i == 0:
print("{} khong la so nguyen to!".format(n))
#Thoat vong lap
break
#Neu khong thoat vong lap thi khoi lenh else se duoc thuc hien
else:
print("{} la so nguyen to!".format(n))
#Khoi lenh duoc thuc thi khi loi xay ra
except:
print("Dinh dang dau vao khong hop le!")
BÀI 4. SỐ HOÀN HẢO.
Đề bài: Viết chương trình sử dụng ngôn ngữ lập trình Python nhập vào từ bàn phím số nguyên N, kiểm tra và đưa ra kết luận N có phải là số hoàn hảo hay không.
Cơ sở lý thuyết:
Số hoàn hảo (hay còn gọi là số hoàn chỉnh, số hoàn thiện hoặc số hoàn thành) là một số nguyên dương mà tổng các ước nguyên dương chính thức của nó (số nguyên dương bị nó chia hết ngoại trừ nó) bằng chính nó.
Cách để kiểm tra N có phải là số hoàn hảo không thì ta chỉ cần tính tổng tất cả các ước của N trong khoảng từ 1 đến N – 1, nếu tổng bằng N thì đó là số hoàn hảo:
Bước 1: Yêu cầu người dùng nhập số cần kiểm tra bằng hàm input()
Bước 2: Lặp từ 1 đến N – 1, tính tổng tất cả các ước số của N trong khoảng đó.
Bước 3: Nếu tổng bằng N thì N chính là số hoàn hảo.
Ho ten: Hoang Van Tuan
# Website: timoday.edu.vn
def kiemtraHoanHao(n): tong = 0 for i in range(1, n):
if (n % i) == 0:
tong += i
if tong == n:
return True
else:
return False
n = int(input('Nhap vao so nguyen n lon hon 0: '))
if kiemtraHoanHao(n):
print(n, ' la so hoan hao')
else: print(n, ' khong la so hoan hao')
BÀI 5. Liệt kê tất cả các ước số của số nguyên dương n bằng Python
Trong bài này ta sẽ viết chương trình Python liệt kê tất cả các ước số của N với N được nhập vào từ bàn phím.
Ví dụ nhập vào số N = 12, thì kết quả sẽ trả về các số 1, 2, 3, 4 và 12.
Để giải bài này bằng ngôn ngữ Python thì ta thực hiện theo các bước sau.
B1. Yêu cầu nhập vào số N
B2: Sử dụng vòng lặp để lặp từ 1 đến N, nếu số nào mà N chia hết thì đó chính là ước. Bạn có thể tham khảo thêm bài viết ước số để biết thêm khái niệm ước là gì nhé.
1
2
3
4
5
6
7
8
9
10
11
12 # HỌC PYTHON TẠI FREETUTS.NET
# TÁC GIẢ: CƯỜNG NGUYỄN
print("Chương trình đăng tại freetuts.net!")
print("Nhập vào số N cần tìm ước: ")
n = int(input())
print("Danh sách các ước số của ", n, " là")
for i in range(1, n+1):
if (n % i == 0):
print(i, end=",")
HOME › python cơ bản - lập trình python cho người mới bắt đầu>>05. số trong python
BÀI 6. Bội số trong Python
8 tháng 11 ,2023
Bội số (multiples) là một khái niệm quan trọng trong lập trình Python và toán học nói chung. Các bội số của một số nguyên là những số mà khi nhân với số nguyên đó, bạn sẽ thu được một bội số của nó. Trong bài viết này, chúng ta sẽ tìm hiểu về các khía cạnh của bội số trong Python, cách xác định và sử dụng chúng trong lập trình.
Bội số trong Python
Các Khái Niệm Cơ Bản
Bội số
Bội số của một số nguyên là các số mà khi chia cho số nguyên đó, phần dư là 0. Ví dụ, các bội số của 3 là 3, 6, 9, 12, và cứ tiếp tục.
Số nguyên là bội số của chính nó
Một số nguyên luôn là bội số của chính nó. Ví dụ, 7 là một bội số của 7.
Số nguyên bắt đầu từ 1
Bội số của một số nguyên bắt đầu từ 1 và tiếp tục vô hạn. Điều này có nghĩa rằng có vô số các bội số của một số nguyên.
Trong Python, bạn có thể xác định bội số bằng cách sử dụng toán tử chia lấy phần dư (%) hoặc sử dụng vòng lặp. Dưới đây là một số cách thực hiện điều này:
Toán tử chia lấy phần dư (%)
Sử dụng toán tử chia lấy phần dư (%) để kiểm tra xem một số có phải là bội số của một số khác hay không. Nếu kết quả của phép chia là 0, thì số đó là bội số của số khác.
number = 15
multiple = 5
if number % multiple == 0:
print(f”{number} là bội số của {multiple}”)
else:
print(f”{number} không là bội số của {multiple}”)
BÀI 7. Tìm ước số chung lớn nhất và bội số chung nhỏ nhất của 2 số nguyên dương
Đề bài
Bài tập Python: Viết chương trình tìm ước số chung lớn nhất (USCLN) và bội số chung nhỏ nhất (BSCNN) của 2 số nguyên dương a và b nhập từ bàn phím.
Định nghĩa
USCLN của 2 số nguyên dương a và b là một số k lớn nhất, sao cho a và b đều chia hết cho k.
BSCNN của 2 số nguyên dương a và b là một số h nhỏ nhất, sao cho h chia hết cho cả a và b.
Lời giải
Một phương pháp đơn giản đề tìm USCLN của a và b là duyệt từ số nhỏ hơn trong 2 số a và b cho đến 1, khi gặp số nào đó mà cả a và b đều chia hết cho nó thì đó chính là USCLN của a và b. Tuy vậy phương pháp này chưa phải là hiệu quả nhất.
Vào thế kỷ 3 TCN, nhà toán học Euclid (phiên âm tiếng Việt là Ơ-clit) đã phát minh ra một giải thuật tìm USCLN của hai số nguyên dương rất hiệu quả được gọi là giải thuật Euclid. Cụ thể về ý tưởng của bài toán, giả sử a lớn hơn b, khi đó việc tính UCSLN của a và b sẽ được đưa về bài toán tính USCLN của a mod b và b vì USCLN(a, b) = USCLN(a mod b, b).
Khi đã tìm được USCLN thì việc tìm BSCNN của hai số nguyên dương a và b khá đơn giản. Khi đó BSCNN(a, b) = (a * b) / UCSLN(a, b).
1. Tìm USCLN và BSCNN của 2 số nguyên dương trong Python bằng giải thuật Euclid
Ví dụ dưới đây sử dụng giải thuật Euclid để giải quyết bài toán tìm ước số chung lớn nhất (USCLN) và bội số chung nhỏ nhất (BSCNN) của hai số nguyên dương a và b bằng cách sử dụng giải thuật Euclid.
“””
* Tìm ước số chung lớn nhất (USCLN)
*
* @param a: số nguyên dương
* @param b: số nguyên dương
* @return USCLN của a và b
“””
def uscln(a, b):
if (b == 0):
return a;
return uscln(b, a % b);
“””
* Tìm bội số chung nhỏ nhất (BSCNN)
*
* @param a: số nguyên dương
* @param b: số nguyên dương
* @return BSCNN của a và b
“””
def bscnn(a, b):
return int((a * b) / uscln(a, b));
a = int(input(“Nhập số nguyên dương a = “));
b = int(input(“Nhập số nguyên dương b = “));
#tính USCLN của a và b
print(“Ước số chung lớn nhất của”, a, “và”, b, “là:”, uscln(a, b));
#tính BSCNN của a và b
print(“Bội số chung nhỏ nhất của”, a, “và”, b, “là:”, bscnn(a, b));
Kết quả:
Nhập số nguyên dương a = 15
Nhập số nguyên dương b = 20
Ước số chung lớn nhất của 15 và 20 là: 5
Bội số chung nhỏ nhất của 15 và 20 là: 60
2. Tìm USCLN và BSCNN của 2 số nguyên dương trong Python bằng cách khác
“””
* Tìm ước số chung lớn nhất (USCLN)
*
* @param a: số nguyên dương
* @param b: số nguyên dương
* @return USCLN của a và b
“””
def uscln(a, b):
temp1 = a;
temp2 = b;
while (temp1 != temp2):
if (temp1 > temp2):
temp1 -= temp2;
else:
temp2 -= temp1;
uscln = temp1;
return uscln;
“””
* Tìm bội số chung nhỏ nhất (BSCNN)
*
* @param a: số nguyên dương
* @param b: số nguyên dương
* @return BSCNN của a và b
“””
def bscnn(a, b):
return int((a * b) / uscln(a, b));
a = int(input(“Nhập số nguyên dương a = “));
b = int(input(“Nhập số nguyên dương b = “));
#tính USCLN của a và b
print(“Ước số chung lớn nhất của”, a, “và”, b, “là:”, uscln(a, b));
#tính BSCNN của a và b
print(“Bội số chung nhỏ nhất của”, a, “và”, b, “là:”, bscnn(a, b));
Kết quả:
Nhập số nguyên dương a = 15
Nhập số nguyên dương b = 20
Ước số chung lớn nhất của 15 và 20 là: 5
Bội số chung nhỏ nhất của 15 và 20 là: 60
Giải thích hoạt động của chương trình trên: Trong chương trình này, tôi nhập vào hai số 15 và 20 thì trình biên dịch sẽ thực thi hàm uscln() với các bước như sau:
1. Gán giá trị biến temp1 = 15 và temp2 = 20.
2. Kiểm tra điều kiện bên trong while: Vì 15 != 20 nên sẽ thực thi lệnh bên trong while. Lúc này 15 < 20 nên lệnh bên trong else sẽ được thực thi và lúc này biến temp2 = 5.
3. Quay lại bước 3, kiểm tra điều kiện bên trong while: Vì 15 != 5 nên sẽ thực thi lệnh bên trong while. Lúc này 15 > 5 nên lệnh bên trong if sẽ được thực thi và lúc này biến temp1 = 10.
4. Quay lại bước 3, kiểm tra điều kiện bên trong while: Vì 10 != 5 nên sẽ thực thi lệnh bên trong while. Lúc này 10 > 5 nên lệnh bên trong if sẽ được thực thi và lúc này biến temp1 = 5.
5. Quay lại bước 3, kiểm tra điều kiện bên trong while: Vì 5 == 5 nên sẽ không thực thi lệnh bên trong while. Vòng lặp kết thúc, trả về giá trị uscln = 5.
BÀI 8. Phép Chia Hết Trong Python
Trong Python, việc kiểm tra một số có chia hết cho một số khác hay không rất đơn giản. Điều này thường được thực hiện bằng cách sử dụng toán tử chia lấy dư (%). Toán tử này trả về phần dư của phép chia hai số. Nếu phần dư bằng 0, số thứ nhất chia hết cho số thứ hai.
Ví dụ cơ bản
Ví dụ sau đây minh họa cách kiểm tra xem số a có chia hết cho số b hay không:
a = 10
b = 2
if a % b == 0:
print(f”{a} chia hết cho {b}”)
else:
print(f”{a} không chia hết cho {b}”)
Ứng dụng trong hàm
Chúng ta có thể đóng gói logic kiểm tra chia hết vào một hàm để tái sử dụng dễ dàng:
def chia_het(a, b):
return a % b == 0
# Kiểm tra
print(chia_het(10, 2)) # True
print(chia_het(10, 3)) # False
Sử dụng trong vòng lặp
Phép chia hết thường được sử dụng trong các vòng lặp để lọc các số chia hết cho một giá trị nhất định. Ví dụ, liệt kê các số từ 1 đến 100 chia hết cho 5:
for i in range(1, 101):
if i % 5 == 0:
print(i)
Bài 8. Giải phương trình bậc nhất một ẩn bằng Python (ax + b = 0)
Hãy viết chương trình giải phương trình bậc nhất một ẩn bằng Python (ax + b = 0), đây là bài toán giải phương trình khá đơn giản đã được học ở cấp II, hãy dùng ngôn ngữ Python để giải nó.
Bài giải
——————– ######## ——————–
Giả sử ta có phương trình ax + b = 0, đây là phương trình chỉ có một nghiệm duy nhất đó là: x = -b/a.
Vậy các bước để giải nó trong Python như sau:
Bước 1: Yêu cầu nhập vào hai số a và b
Bước 2: Kiểm tra nếu a = 0 thì yêu cầu nhập lại số a, vì phương trình này có điều kiện a # 0.
Bước 2: Tìm nghiệm bằng công thức x = -b/a
Bài giải như sau:
Bài 9. Giải phương trình bậc 2 trong python
Bài viết này sẽ hướng dẫn bạn cách giải phương trình bậc hai một ẩn bằng Python, đây là phương trình mà bạn đã được học ở lớp 9. Trước khi bắt tay vào viết chương trình trên Python, chúng ta phải biết cách giải phương trình bậc 2 đã nhé:
Cách giải phương trình bậc 2 một ẩn
Giải phương trình bậc 2 là đi tìm các giá trị của x sao cho khi thay x vào phương trình thì thỏa mãn phương trình dạng: ax2+bx+c=0;
Bước 1: Tính Δ=b2-4ac
Bước 2: So sánh Δ với 0
• Δ < 0 => phương trình (1) vô nghiệm
• Δ = 0 => phương trình (1) có nghiệm kép x1=x2=-b/a
• Δ > 0 => phương trình (1) có 2 nghiệm phân biệt, ta dùng công thức nghiệm sau:
và
Giải phương trình bậc 2 một ẩn với Python
Bước 1: Cho phép người dùng nhập vào 3 số: a, b, c với điều kiện a và b ≠ 0
Bước 2: Tính Delta (Δ)
Bước 3: Theo phân tích giải phương trình bậc 2 ở trên, chúng ta có thể sử dụng công thức sau để tính toán nghiệm của phương trình bậc hai:
x = (-b ± sqrt(b^2 – 4ac)) / 2a với sqrt() là hàm tính căn bậc hai.
CÁCH 1.
import math
print(“Giải phương trình bậc 2: ax2 + bx + c = 0 (a, b khác 0)”)
print(“Bạn đang làm bài tập Python trên QuanTriMang”)
print(“============”)
# Nhập số a, b và kiểm tra điều kiện khác 0
a = float(input(“Mời bạn nhập hệ số a: “))
while True:
if a == 0:
a = float(input(“Số a phải khác 0. Mời nhập lại số a: “))
else:
break
b = float(input(“Mời bạn nhập hệ số b: “))
while True:
if b == 0:
b = float(input(“Số b phải khác 0. Mời nhập lại số b: “))
else:
break
# Nhập số c
c = float(input(“Mời bạn nhập hệ số c: “))
# Tính Delta
delta = b**2 – 4 * a * c
# Tìm nghiệm của phương trình
if delta < 0:
print("Phương trình vô nghiệm")
elif delta == 0:
print("Phương trình có nghiệm kép x1 = x2 = ", -(b / (2 * a)) )
else:
print("Phương trình có hai nghiệm phân biệt:")
print("x1 = ", (-(b) + math.sqrt(delta))/(2*a) )
print("x2 = ", (-(b) - math.sqrt(delta))/(2*a) )
CÁCH 2.
from math import sqrt
print("Giải phương trình bậc 2: ax^2 + bx + c = 0")
a = float(input("Nhập a: "))
b = float(input("Nhập b: "))
c = float(input("Nhập c: "))
if a == 0:
if b == 0:
if c == 0:
print("Phương trình vô số nghiệm!")
else:
print("Phương trình vô nghiệm!")
else:
if c == 0:
print("Phương trình có 1 nghiệm x = 0")
else:
print("Phương trình có 1 nghiệm x = ", -c / b)
else:
delta = b ** 2 - 4 * a * c
if delta < 0:
print("Phương trình vô nghiệm!")
elif delta == 0:
print("Phương trình có 1 nghiệm x = ", -b / (2 * a))
else:
print("Phương trình có 2 nghiệm phân biệt!")
print("x1 = ", float((-b - sqrt(delta)) / (2 * a)))
print("x2 = ", float((-b + sqrt(delta)) / (2 * a)))
IV. Lập trình làm việc với dữ liệu kiểu chuỗi, xâu kí tự.
4.1. Duyệt Chuỗi trong Python
Trong lập trình Python, việc duyệt chuỗi (string) là một phần quan trọng trong xử lý và trích xuất thông tin từ văn bản. Python cung cấp nhiều cách để duyệt qua chuỗi, từ sử dụng vòng lặp for đến sử dụng các phương thức và kỹ thuật xử lý chuỗi. Trong bài viết này, chúng ta sẽ tìm hiểu về cách duyệt chuỗi trong Python, các phương pháp khác nhau và ứng dụng thực tế của việc duyệt chuỗi.
Sử dụng Vòng Lặp for để Duyệt Chuỗi
Một trong những cách phổ biến nhất để duyệt qua chuỗi trong Python là sử dụng vòng lặp for. Vòng lặp này cho phép bạn duyệt từng ký tự trong chuỗi một cách tuần tự. Dưới đây là cú pháp cơ bản:
chuoi = "Python"
for ky_tu in chuoi:
print(ky_tu)
Sử dụng Phương thức len() và range() để Duyệt Chuỗi
Ngoài việc duyệt từng ký tự, bạn có thể sử dụng phương thức len() để lấy độ dài của chuỗi và hàm range() để duyệt qua chỉ số của chuỗi. Điều này có thể hữu ích khi bạn cần cả ký tự và vị trí của chúng trong chuỗi.
chuoi = "Python"
do_dai = len(chuoi)
for i in range(do_dai):
print(f"Ky tu thu {i} la: {chuoi[i]}")
Kết quả:
Ky tu thu 0 la: P
Ky tu thu 1 la: y
Ky tu thu 2 la: t
Ky tu thu 3 la: h
Ky tu thu 4 la: o
Ky tu thu 5 la: n
Sử dụng Các Phương Thức xử lý Chuỗi
Python cung cấp nhiều phương thức cho chuỗi, cho phép bạn thực hiện các thao tác trên chuỗi một cách dễ dàng. Dưới đây là một số phương thức phổ biến:
o split(): Phân chia chuỗi thành một danh sách dựa trên một dấu phân cách.
chuoi = "Python là một ngôn ngữ lập trình mạnh mẽ"
tu = chuoi.split()
for tu in tu:
print(tu)
o strip(): Loại bỏ khoảng trắng và ký tự xuống dòng từ đầu và cuối chuỗi.
chuoi = " Chuoi da duoc loai bo khoang trang. "
chuoi = chuoi.strip()
print(chuoi)
o replace(): Thay thế một chuỗi con bằng một chuỗi khác trong chuỗi gốc.
chuoi = "Python là một ngôn ngữ lập trình mạnh mẽ"
chuoi_moi = chuoi.replace("Python", "JavaScript")
print(chuoi_moi)
Ứng Dụng Thực Tế của Duyệt Chuỗi
Tìm Kiếm và Phân Tích Dữ Liệu
Khi bạn làm việc với dữ liệu văn bản, việc duyệt chuỗi là quan trọng để tìm kiếm, phân tích và trích xuất thông tin cần thiết.
chuoi = "Email của tôi là contact@example.com, xin liên hệ với tôi."
if "example.com" in chuoi:
print("Tìm thấy địa chỉ email.")
Kiểm Tra Tính Hợp Lệ của Dữ Liệu
Trong việc kiểm tra tính hợp lệ của dữ liệu đầu vào, duyệt chuỗi có thể giúp bạn kiểm tra xem dữ liệu có phù hợp hay không.
chuoi = "12345"
if chuoi.isdigit():
print("Đây là một chuỗi chứa số.")
Định dạng Chuỗi Đầu Ra
Khi bạn cần tạo chuỗi đầu ra có định dạng cụ thể, việc duyệt qua và kết hợp các phần khác nhau là quan trọng.
thong_tin = {"ten": "Alice", "tuoi": 30}
chuoi = f"Xin chào, tôi là {thong_tin['ten']} và tôi {thong_tin['tuoi']} tuổi."
print(chuoi)
Ghép Chuỗi trong Python
Kiểu dữ liệu chuỗi (string) trong Python đóng vai trò quan trọng trong việc xử lý thông tin văn bản. Một trong những kỹ thuật cơ bản mà mọi lập trình viên cần nắm vững là cách ghép chuỗi. Việc này cho phép chúng ta nối các phần văn bản lại với nhau để tạo thành các chuỗi mới hoặc định dạng thông tin theo cách mong muốn.
Ghép Chuỗi Bằng Dấu Cộng (+)
Cách đơn giản nhất để ghép chuỗi trong Python là sử dụng toán tử cộng +. Bạn có thể nối các chuỗi bằng cách đặt chúng cạnh nhau bằng dấu cộng.
Ví dụ:
first_name = "John"
last_name = "Doe"
full_name = first_name + " " + last_name
print(full_name) # Output: 'John Doe'
Sử Dụng Phương Thức join()
Phương thức join() cho phép bạn nối các chuỗi trong một danh sách (hoặc iterable) thành một chuỗi duy nhất. Đây là một cách linh hoạt và hiệu quả để nối nhiều chuỗi cùng một lúc.
Ví dụ:
words = ["Hello", "world", "Python"]
sentence = " ".join(words)
print(sentence) # Output: 'Hello world Python'
Sử Dụng F-strings (Python 3.6+)
F-strings không chỉ giúp định dạng chuỗi, mà còn cho phép nối các chuỗi và biểu thức vào chuỗi một cách dễ dàng và linh hoạt.
Ví dụ:
name = "Alice"
age = 30
message = f"Tên của tôi là {name} và tôi {age} tuổi."
print(message) # Output: 'Tên của tôi là Alice và tôi 30 tuổi.'
Sử Dụng Phương Thức format()
Phương thức format() cũng cho phép bạn nối chuỗi và định dạng văn bản dễ dàng.
Ví dụ:
name = "Bob"
age = 25
message = "Tên của tôi là {} và tôi {} tuổi.".format(name, age)
print(message) # Output: 'Tên của tôi là Bob và tôi 25 tuổi.'
Khi Nào Nên Sử Dụng Cách Ghép Chuỗi Nào?
1. Sử dụng + khi cần nối một số lượng nhỏ các chuỗi cố định.
2. Sử dụng join() khi cần nối nhiều chuỗi từ một danh sách hoặc iterable.
3. Sử dụng f-strings (Python 3.6+) khi cần định dạng chuỗi và nối các biến và biểu thức vào chuỗi.
4. Sử dụng phương thức format() khi muốn sử dụng một chuỗi mẫu và điền các giá trị vào vị trí được chỉ định.
Đếm số lần xuất hiện xâu con
Một xâu A được gọi là xâu con của xâu B nếu các kí tự của xâu A được xuất hiện liên tiếp trong xâu B. Ví dụ apple, appl, pple, ple là xâu con của xâu apple; nhưng xâu ppal không là xâu con của xâu apple.
Yêu cầu: Cho xâu B và xâu A; Đếm số lần xuất hiện không giao nhau của xâu A trong xâu B.
Input:
Dòng đầu ghi xâu B.
Dòng thứ hai ghi xâu A.
Các xâu chỉ gồm kí tự latin viết thường không chứa dấu cách. Các xâu có độ dài không quá 100.
Output:
Một số nguyên là số lần xuất hiện của xâu A trong B
Ví dụ:
Sample Input
aaa
aa
Sample Output