MỘT SỐ BÀI TẬP KIỂU XÂU (CHUỖI) CƠ BẢN TRONG PYTHON
BÀI GIẢI
# bài 1
string = input('Nhập 1 xâu: ')
print(string)
# bài 2
# Cách 1:
string = "Hello, World!"
char = 'o'
print(string.count(char))
# Cách 2:
string = "Hello, World!"
char = 'o'
count=0
for ch in string:
if ch==char:
count=count+1
print(count)
# Bài 3
# Cách 1
string = "Xin chào!"
print(string[::-1])
# Cách 2
string = "Xin chào!"
dao=''
for ch in string:
dao=ch+dao
print(dao)
# Bài 4
def longest_substring(string):
sub_strings = string.split()
longest = ""
for sub in sub_strings:
if len(sub) > len(longest):
longest = sub
return longest
string = "Tim tu dai nhat"
print(longest_substring(string))
# Bài 5
def tim_tu(xau):
# Chuyển đổi xâu thành chữ thường để phân biệt chữ hoa/chữ thường
xau = xau.lower()
# Tạo một biến để lưu trữ từ xuất hiện nhiều nhất
tu_nnhat = None
dem_max = 0
# Duyệt qua tất cả các từ trong xâu
for word in xau.split(" "):
# Loại bỏ dấu câu và ký tự đặc biệt khỏi từ
word_clean = ''.join(c for c in word if c.isalnum())
# Đếm số lần xuất hiện của từ hiện tại
dem = xau.count(word_clean)
# Nếu số lần xuất hiện của từ hiện tại nhiều hơn số lần xuất hiện của từ đang lưu trữ
if dem > dem_max:
# Cập nhật từ xuất hiện nhiều nhất
tu_nnhat = word_clean
dem_max = dem
return tu_nnhat
xau = "Tìm từ xuất hiện nhiều nhất trong một xâu. Xâu này có một từ xuất hiện nhiều lần."
# Tìm từ xuất hiện nhiều nhất trong xâu
tu_nnhat = tim_tu(xau)
# Hiển thị kết quả
print("Từ xuất hiện nhiều nhất trong xâu là:", tu_nnhat)
#Bài 6
string = " Hello, World! "
print(string.strip())
# Bài 7
string = "Hello, World!"
print(string.upper()) # Chuyển sang viết hoa
print(string.lower()) # Chuyển sang viết thường
#Bài 8
string = "Hello, World!"
print(string.split(',')) # Tách chuỗi dựa trên ký tự ','
print(string.split()) # Tách chuỗi dựa trên khoảng trắng
# Bài 9
def is_palindrome(s):
# Loại bỏ khoảng trắng và chuyển đổi thành chữ thường
s = s.replace(" ", "").lower()
# So sánh xâu với xâu đảo ngược của nó
return s == s[::-1]
# Nhập xâu từ người dùng
input_string = input("Nhập một xâu: ")
# Kiểm tra xem xâu có phải là palindrome hay không
if is_palindrome(input_string):
print("Đúng, đây là một palindrome.")
else: print("Không, đây không phải là một palindrome.")
#Bài 10:
def count_occurrences(main_string, substring):
count = 0
start_index = 0
while start_index < len(main_string):
# Tìm vị trí xuất hiện đầu tiên của xâu con từ vị trí start_index
index = main_string.find(substring, start_index)
# Nếu không tìm thấy thì dừng vòng lặp
if index == -1:
break
# Nếu tìm thấy, tăng số lần xuất hiện và cập nhật vị trí bắt đầu tìm kiếm mới
count += 1
start_index = index + 1
return count
# Nhập xâu chính và xâu con từ người dùng
main_string = input("Nhập xâu chính: ")
substring = input("Nhập xâu con: ")
# Tìm và in số lần xuất hiện của xâu con trong xâu chính
result = count_occurrences(main_string, substring)
print('Số lần xuất hiện của ',substring,' trong ',main_string,':',result)
# Bài 11
S='dhg432ed32'
# Cách 1
count=0
for char in S:
if '0'<=char<='9':
count+=1
print(count)
#--------------------------------
# Cách 2
count = 0
for char in S:
if char.isdigit(): #isdigit(): hàm kiểm tra có phải số không
count += 1
print(count)
#Bài 12
S='dhVg432eAd32'
# Cách 1
count=0
for char in S:
if 'a'<=char<='z' or 'A'<=char<='Z':
count+=1
print(count)
# Cách 2:
count = 0
for char in S:
if char.isalpha(): # isalpha(): hàm kiểm tra có phải là chữ cái tiếng Anh không
count += 1
print(count)
#Bài 13
s1 = input("Nhập xâu kí tự s1: ")
s2 = input("Nhập xâu kí tự s2: ")
result = ""
i = 0
j = 0
while i < len(s1) and j < len(s2):
result += s1[i]
result += s2[j]
i += 1
j += 1
if i < len(s1):
result += s1[i:] # s1[i:]
if j < len(s2):
result += s2[j:]
print("Xâu kết quả là:", result)
#Bài 14
s1 = input("Nhập xâu kí tự s1: ")
s2 = input("Nhập xâu kí tự s2: ")
result = ""
i = 0
while i < len(s1) and i < len(s2) and s1[i] == s2[i]:
result += s1[i]
i += 1
print("Phần chung đầu tiên cực đại của hai xâu là:", result)
#Bài 15
S = input("Nhập xâu kí tự S: ")
# Xoá các dấu cách ở đầu và cuối xâu
S = S.strip()
# Tách xâu thành các từ
words = S.split()
# Ghép các từ lại với nhau bằng một dấu cách duy nhất
S = " ".join(words)
print("Xâu sau khi xoá các dấu cách thừa:", S)
#Bài 16
ho_ten = input("Nhập họ tên đầy đủ: ")
# Tách xâu thành các từ
tach_tu = ho_ten.split()
# Lấy họ (từ đầu tiên)
ho = tach_tu[0]
# Lấy đệm (từ thứ hai đến trước từ cuối cùng)
dem = " ".join(tach_tu[1:-1])
# Lấy tên (từ cuối cùng)
ten = tach_tu[-1]
# In ra họ, đệm và tên
print("Họ:", ho)
print("Đệm:", dem)
print("Tên:", ten)
#Bài 17
n = int(input("Nhập số lượng số nguyên: "))
s = input("Nhập các số nguyên cách nhau bởi dấu cách: ")
lst=s.split()
# Chuyển các phần tử trong lst thành số nguyên
for i in range(len(lst)):
lst[i]=int(lst[i])
# In ra danh sách các số đã nhập
print("Danh sách các số đã nhập:", end=" ")
for num in lst:
print(num, end=" ")
print()
# Tìm số lớn nhất và chỉ số của số lớn nhất
max_num = lst[0]
max_index = 0
for i in range(1, n):
if lst[i] > max_num:
max_num = lst[i]
max_index = i
print("Số lớn nhất là", max_num, "và nằm ở vị trí", max_index)
# Tìm số nhỏ nhất và chỉ số của số nhỏ nhất
min_num = lst[0]
min_index = 0
for i in range(1, n):
if lst[i] < min_num:
min_num = lst[i]
min_index = i
print("Số nhỏ nhất là", min_num, "và nằm ở vị trí", min_index)
#Bài 18
S = "12121332121432121"
substr = "121"
count = 0
i = 0
while i < len(S):
if S[i:i+len(substr)] == substr:
count += 1
i += 1
print(count)
MA TRẬN ĐẶC TẢ VÀ ĐỀ KIỂM TRA GIỮA HKII TIN HỌC 10 SÁCH KNTT…
MA TRẬN ĐẶC TẢ VÀ ĐỀ KIỂM TRA GIỮA HKII TIN HỌC 11 SÁCH KNTT…
MA TRẬN ĐẶC TẢ VÀ ĐỀ KIỂM TRA GIỮA HKII TIN HỌC 12 SÁCH KNTT…
MA TRẬN ĐẶC TẢ VÀ ĐỀ KIỂM TRA CUỐI HKI TIN HỌC 10, 11, 12…
This website uses cookies.