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)
CÂU HỎI TRẮC NGHIỆM NHIỀU LỰA CHỌN TIN HỌC 11 KNTT (CS) CHỦ ĐỀ 6.…
CÂU HỎI TRẮC NGHIỆM DẠNG ĐÚNG/ SAI TIN HỌC 12 KNTT ĐỊNH HƯỚNG KHOA HỌC…
CÂU HỎI TRẮC NGHIỆM DẠNG ĐÚNG/ SAI TIN HỌC 11 KNTT (CS) CHỦ ĐỀ 6.…
MA TRẬN ĐẶC TẢ VÀ ĐỀ KIỂM TRA CUỐI HKI TIN HỌC 11 SÁCH KNTT…
CÂU HỎI TRẮC NGHIỆM DẠNG ĐÚNG/ SAI TIN HỌC 10 KNTT CHỦ ĐỀ 6 Chủ…
CÂU HỎI TRẮC NGHIỆM DẠNG ĐÚNG/ SAI TIN HỌC 10 KNTT CHỦ ĐỀ 5 Chủ…
This website uses cookies.