Bài 13F. Thực hành dữ liệu kiểu xâu

Bài Thực hành dữ liệu kiểu xâu trang 99 SGK Tin Học lớp 10 – Cá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 13F. Thực hành dữ liệu kiểu xâu.

Bài 1. Xoá kí tự trong xâu

a) Em hãy viết chương trình tạo một xâu mới từ xâu s đã cho bằng việc xoá những kí tự được chỉ định trước.

Hướng dẫn: Xoá kí tự tương đương với việc thay kí tự đó bằng kí tự rỗng (Hình 1).

b) Em hãy chạy thử chương trình và kiểm tra kết quả.

Ví dụ:

InputOutput
123a45a6a78a12345678

Hướng dẫn:

Kết quả chương trình:

Bài 2. Giúp bạn tìm và sửa lỗi chương trình

Tên tệp thường gồm hai phần: phần tên và phần mở rộng được ngăn cách nhau bởi dấu chấm. Ví dụ, các tệp chương trình Python có phần mở rộng là “py”, các tệp văn bản có phần mở rộng là “doc” hoặc “docx”. Trong hệ điều hành Windows, tên tệp không phân biệt chữ hoa và chữ thường. Bạn Khánh Linh muốn viết chương trình (Hình 2) nhập vào một xâu là tên của một tệp và kiểm tra xem tên tệp đó có phải là tên của tệp chương trình Python trong hệ điều hành Windows không.

Khánh Linh đã nghĩ ra thuật toán, bằng cách lấy ra hai kí tự cuối cùng của xâu rồi so sánh với xâu “py”. Tuy nhiên, chương trình do Khánh Linh viết vẫn còn có lỗi. Em hãy giúp bạn Khánh Linh tìm và sửa lỗi để chương trình chạy được và đưa ra kết quả đúng.

Gợi ý: Nếu Python báo lỗi cú pháp, em hãy sửa hết lỗi cú pháp để chương trình chạy được. Sau đó hãy chạy thử với một số dữ liệu vào khác nhau, ví dụ “Hello.py”, “introPython.doc”, “Hello.PY” và kiểm tra xem kết quả nhận được có đúng không.

Hướng dẫn:

fileName = input('Nhập một tên tệp: ')
Length = len(fileName)
ExtensionName = fileName[Length - 2:Length]
if ExtensionName == 'py'  or (ExtensionName == 'PY'):
    print(fileName, 'là tệp mã nguồn Python')
else:
    print(fileName, 'không phải là tệp mã nguồn Python')

Bài 3. Xác định toạ độ

a) Tìm hiểu bài toán: Robot thám hiểm Sao Hoả đang ở điểm Sao Hoả đang ở điểm có toạ độ (0; 0) nhận được dòng lệnh điều khiển từ Trái Đất. Dòng lệnh chỉ chứa các kí tự từ tập kí tự {E, S, W, N}, mỗi kí tự là một lệnh di chuyển với quãng đường bằng một đơn vị độ dài. Lệnh E – đi về hướng đông, lệnh S – đi về hướng nam, lệnh W – đi về hướng tây và lệnh N – đi về hướng bắc. Trục Ox của hệ toạ độ chạy từ tây sang đông, trục Oy – chạy từ nam lên bắc. Em hãy xác định toạ độ của robot sau khi thực hiện lệnh di chuyển nhận được.

Ví dụ: Với dòng lệnh “ENENWWWS”, sau khi thực hiện robot sẽ tới vị trí (-1; 1) (Hình 3).

Gợi ý:

Toạ độ x của đích tới bằng số lượng kí tự ‘E’ trừ số lượng kí tự ‘W’.

Toạ độ y của đích tới bằng số lượng kí tự ‘N’ trừ số lượng kí tự ‘S’.

b) Em hãy đọc hiểu và chạy thử chương trình ở Hình 4 và cho biết chương trình đó có giải quyết được bài toán ở mục a) hay không.

Hướng dẫn:

Thực hành chương trình.

Chương trình trên đã giải quyết được bài toán ở mục a.

Có thể chương trình gọn hơn như sau:

print('Toạ độ hiện tại của robot: (',s.count('E') - s.count('W'), ',',
      s.count('N') - s.count('S'), ')')

LUYỆN TẬP

Em hãy viết chương trình nhập từ bàn phím một chữ số trong hệ thập phân, đưa ra màn hình tên gọi của chữ số đó bằng tiếng Anh.

Ví dụ:

InputOutput
5five

Hướng dẫn:

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

n = input('Nhập chữ số: ')
if n == '0': print('zero')
elif n == '1': print('one')
elif n == '2': print('two')
elif n == '3': print('three')
elif n == '4': print('four')
elif n == '5': print('five')
elif n == '6': print('six')
elif n == '7': print('seven')
elif n == '8': print('eight')
else: print('nine')

Xem thêm các bài khác tại Giải bài tập sách giáo khoa 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