Problem

8 /13


Lặp qua tất cả các ký tự

Theory Click to read/hide

Lặp lại tất cả các ký tự

Vì một ký tự có thể được truy cập bằng chỉ mục, bạn có thể sử dụng một vòng lặp biến để lặp qua tất cả các ký tự, điều này sẽ nhận các giá trị chỉ mục có thể. Ví dụ, một chương trình hiển thị tất cả các mã ký tự của chuỗi s sẽ như thế này cho tôi trong phạm vi (len (s)): in(s[i], ord(s[i])) Giải thích về chương trình:
1) Hàm len(s) tìm độ dài của một chuỗi. Chỉ số của ký tự đầu tiên là 0 và chỉ số của ký tự cuối cùng là len(s)-1. Biến vòng lặp i sẽ chỉ nhận giá trị tuần tự từ 0 đến len(s)-1.
2) Trong mỗi dòng, biểu tượng sẽ được hiển thị trước, sau đó là mã của nó, được trả về bởi hàm tích hợp ord().

Phép liệt kê tương tự có thể được viết ngắn hơn: cho c trong s: in(c, ord(c)) Trong đoạn này, tiêu đề vòng lặp lặp qua tất cả các ký tự s, lần lượt đặt chúng vào biến c.

Như đã đề cập, điểm đặc biệt của Python khi làm việc với chuỗi là chuỗi là đối tượng bất biến. Nói cách khác, chúng ta không thể thay đổi các ký tự riêng lẻ của một chuỗi.

Ví dụ: câu lệnh sau sẽ không hoạt động s[5]='a' Tuy nhiên, bạn có thể soạn một dòng mới từ các ký tự có thay đổi theo yêu cầu.
 
Nhiệm vụ
Trong chuỗi nhập, thay thế tất cả các ký tự 'a' thành ký tự 'b'.  s = đầu vào() sMới = "" cho c trong s: nếu c == 'a': c = 'b' sMới += c bản in(sMới)
Trong chương trình này, vòng lặp đi qua tất cả các ký tự của xâu s. Trong thân vòng lặp, ta kiểm tra giá trị của biến с: nếu ký hiệu trùng với ký hiệu 'a' thì ta thay thế bằng 'b' và thêm nó vào cuối dòng mới sNew bằng toán tử cộng.
Tùy chọn này khá chậm.

Trong tương lai, chúng ta sẽ xem xét các hàm thao tác chuỗi tích hợp sẵn và tìm hiểu cách thực hiện nhanh hơn.
 

Problem

Viết chương trình thay thế tất cả các dấu chấm trong một chuỗi bằng số 0 và tất cả các chữ cái tiếng Anh viết hoa "X" đơn vị. 
 
Ví dụ
<đầu>
# Đầu vào Đầu ra
1 ..X..XX 0010011