Chủ đề F. Bài 12. Kiểu dữ liệu xâu kí tự – xử lí xâu kí tự

Kiểu dữ liệu xâu kí tự – xử lí xâu kí tự sách bài tập Tin Học lớp 10Cánh Diều, mời các em tham khảo cùng Bumbii.

Chủ đề F. Giải quyết vấn đề với sự trợ giúp của máy tính. Bài 12. Kiểu dữ liệu xâu kí tự – xử lí xâu kí tự.

Câu F57

Các lát cắt. Cho xâu s không chứa dấu cách. Hãy thực hiện các công việc sau:

  • Đưa ra kí tự thứ ba của xâu s.
  • Đưa ra kí tự trước kí tự cuối cùng của s.
  • Đưa ra 5 kí tự đầu tiên của s.
  • Đưa ra toàn xâu s, trừ 2 kí tự cuối cùng.
  • Đưa ra độ dài của xâu s.

Kết quả mỗi yêu cầu đưa ra trên một dòng, các dòng thông tin đưa ra không chứa dấu cách.

Dữ liệu: Nhập xâu s vào từ bàn phím.

Kết quả: Đưa các kết quả ra màn hình, mỗi kết quả ở trên một dòng.

Chú ý: Python cung cấp nhiều cách viết để trích các xâu con theo những cách khác nhau. Ngoài những cách đã nêu trong Bài 11 (sách Tin học 10), có thể tham khảo thêm các cách khác ở tài liệu hệ thống đã cung cấp qua cài đặt.

Ví dụ:

InputOutput
abcdefgh



c
g
abcde
abcdef
8

Đáp án:

Tham khảo chương trình sau:

s = input('s = ')
print(s[2])
print(s[-2])
print(s[:5])
print(s[:-2])
print(len(s))

Câu F58

Xâu mới. Cho xâu s. Tạo xâu mới bằng cách tách s thành 2 phần:

  • s1 chứa các kí tự đầu của s, s2 chứa các kí tự còn lại.
  • Độ dài s1 lớn hơn hoặc bằng 1 so với độ dài của s2.
  • Tạo xâu mới bằng cách đổi chỗ s1 và s2 trong s.

Dữ liệu: Nhập xâu s vào từ bàn phím.

Kết quả: Đưa ra màn hình xâu nhận được sau biến đổi.

Gợi ý: Sử dụng kĩ thuật tách xâu con.

Ví dụ:

InputOutput
123456789678912345

Đáp án:

Tham khảo chương trình sau:

s = input()
print(s[len(s) + 1)//2:] + s[:len(s) +1)//2])

Câu F59

Tìm và sửa lỗi. Xét bài toán: Cho xâu s nhập vào từ bàn phím. Người ta thay kí tự ở vị trí chẵn trong xâu bằng kí tự “*”.

Chú ý: Vị trí các kí tự trong xâu được đánh số bắt đầu từ 0.

Hãy tìm lỗi trong chương trình sau và đề xuất một cách sửa.

s = input()
for i in range (len(s)):
   if i%2 == 0:
      s[i]= '*'
print(s)

Đáp án:

Câu lệnh sai là: s [i ]= ‘*’. Do Python không cho phép trực tiếp thay đổi giá trị kí tự trong xâu. Một trong các cách sửa là:

Thay s[i]= ‘*’ bằng câu lệnh s = s.replace (s[i], ‘*’)

Câu F60

Vị trí kí tự. Xét bài toán: Cho xâu s và kí tự c. Nếu c xuất hiện trong s một lần thì đưa ra vị trí của c trong s. Nếu c xuất hiện nhiều lần trong s thì đưa ra vị trí xuất hiện lần đầu tiên và lần cuối cùng của c trong s. Nếu s không chứa c thì đưa ra giá trị -1.

Viết chương trình nhập xâu s và kí tự c vào từ bàn phím và thực hiện bài toán trên.

Dữ liệu: Nhập vào xâu s và kí tự c từ bàn phím.

Kết quả: Đưa kết quả ra màn hình.

Gợi ý: Tìm vị trí kí tự c trong xâu s từ đầu về cuối bằng lệnh s.find (c) và tìm ngược từ cuối về đầu bằng lệnh s.rfind (c).

Ví dụ:

InputOutputInputOutputInputOutput
abcdabacbcad
a
0 10
Abcdefgh
e
4
12345678
A
-1

Đáp án:

Tham khảo chương trình sau:

s = input()
c = input()
if s.count(c) == 1:
   print(s.find(c))
elif s.count(c) > 1:
   print(s.find(c), s.rfind(c))
else: print('-1')

Câu F61

Xoá xâu con. Xét bài toán: Cho xâu s và kí tự c. Nếu c xuất hiện nhiều hơn một lần trong s thì xoá khỏi s xâu con các kí tự liên tiếp nhau bắt đầu lần xuất hiện đầu tiên của c cho đến lần xuất hiện cuối cùng của kí tự này. Viết chương trình nhập xâu s và kí tự c vào từ bàn phím và thực hiện bài toán trên.

Dữ liệu: Nhập vào xâu s và kí tự c từ bàn phím.

Kết quả: Đưa ra màn hình kết quả nhận được.

Ví dụ:

InputOutputInputOutput
2bc2efgh2ijk2lmn
2
abclmn
abcdefgh
2
abcdefgh

Đáp án:

Tham khảo chương trình sau:

s = input()
c = input()
t = s.count(c)
if t > 1:
   s = s[:s.find(c)] + s[s.rfind(c) + 1:]
print(s)

Câu F62

Thay thế. Xét bài toán: Cho xâu s. Tạo xâu mới từ s bằng cách tìm các kí tự 1 và thay nó bằng xâu “one”, các kí tự còn lại được giữ nguyên. Viết chương trình nhập xâu s vào từ bàn phím và thực hiện bài toán trên.

Dữ liệu: Nhập xâu s vào từ bàn phím.

Kết quả: Đưa ra màn hình xâu kết quả nhận được.

Ví dụ:

InputOutput
3215419817632one54one98one76

Đáp án:

Tham khảo chương trình sau:

s = input()
w = s.replace('1','one')
print(w)

Xem thêm các bài khác tại Giải Sách bài tập Tin học Lớp 10 – Cánh Diều

Thông tin liên hệ & mạng xã hội:
Website: https://bumbii.com/
Facebook: https://www.facebook.com/bumbiiapp
Pinterest: https://www.pinterest.com/bumbiitech

0 0 đánh giá
Article Rating
Theo dõi
Thông báo của
guest

0 Bình luận
Phản hồi nội tuyến
Xem tất cả bình luận
0
Cùng chia sẻ bình luận của bạn nào!x