Hướng dẫn string calculator in python - máy tính chuỗi trong python
Trong các ví dụ sau, đầu vào và đầu ra được phân biệt bởi sự hiện diện hoặc vắng mặt của lời nhắc (>>> và Hồi): Để lặp lại ví dụ, bạn phải nhập mọi thứ sau khi nhắc, khi lời nhắc xuất hiện; Các dòng không bắt đầu bằng lời nhắc là đầu ra từ trình thông dịch. Lưu ý rằng một lời nhắc thứ cấp trên một dòng trong một ví dụ có nghĩa là bạn phải nhập một dòng trống; Điều này được sử dụng để kết thúc một lệnh đa dòng.>>> and …): to repeat the example, you must type everything after the prompt, when the prompt appears; lines that do not begin with a prompt are output from the interpreter. Note that a secondary prompt on a line by itself in an example means you must type a blank line; this is used to end a multi-line command.>>> and
…): to repeat the example, you must type everything after the prompt, when the prompt appears; lines that do not begin with a prompt are output from the interpreter. Note that a secondary prompt on a line by itself in an example means you must type a blank line; this is used to end a multi-line command. Nội dung chính ShowShow Bạn có thể chuyển đổi hiển thị lời nhắc và đầu ra bằng cách nhấp vào >>> 5 ** 2 # 5 squared 25 >>> 2 ** 7 # 2 to the power of 7 1289 ở góc trên bên phải của hộp ví dụ. Nếu bạn ẩn các lời nhắc và đầu ra cho một ví dụ, thì bạn có thể dễ dàng sao chép và dán các dòng đầu vào vào trình thông dịch của bạn. Nhiều ví dụ trong hướng dẫn này, ngay cả những ví dụ đã nhập tại dấu nhắc tương tác, bao gồm các bình luận. Nhận xét trong Python bắt đầu với ký tự băm, >>> width = 20 >>> height = 5 * 9 >>> width * height 9000 và mở rộng đến cuối dòng vật lý. Một nhận xét có thể xuất hiện khi bắt đầu một dòng hoặc theo khoảng trắng hoặc mã, nhưng không phải trong một chuỗi theo nghĩa đen. Một ký tự băm trong một chuỗi theo nghĩa đen chỉ là một ký tự băm. Vì các bình luận là để làm rõ mã và không được giải thích bởi Python, chúng có thể bị bỏ qua khi gõ vào các ví dụ. Vài ví dụ: # this is the first comment spam = 1 # and this is the second comment # ... and now a third! text = "# This is not a comment because it's inside quotes." 3.1. Sử dụng Python làm máy tính công trìnhUsing Python as a Calculator¶3.1.1. SốNumbers¶ 3.1.2. Dây¶Strings¶3.1.1. SốNumbers¶3.1.2. Dây¶Strings¶ 3.1.3. Danh sáchLists¶3.2. Những bước đầu tiên hướng tới Lập trình bàiFirst Steps Towards Programming¶ Bạn có thể chuyển đổi hiển thị lời nhắc và đầu ra bằng cách nhấp vào>>> 5 ** 2 # 5 squared 25 >>> 2 ** 7 # 2 to the power of 7 1289 ở góc trên bên phải của hộp ví dụ. Nếu bạn ẩn các lời nhắc và đầu ra cho một ví dụ, thì bạn có thể dễ dàng sao chép và dán các dòng đầu vào vào trình thông dịch của bạn.Nhiều ví dụ trong hướng dẫn này, ngay cả những ví dụ đã nhập tại dấu nhắc tương tác, bao gồm các bình luận. Nhận xét trong Python bắt đầu với ký tự băm, floor division and get an integer result you can use the >>> width = 20 >>> height = 5 * 9 >>> width * height 90035 operator; to calculate the remainder you can use >>> width = 20 >>> height = 5 * 9 >>> width * height 90036: # this is the first comment spam = 1 # and this is the second comment # ... and now a third! text = "# This is not a comment because it's inside quotes."2 >>> width = 20 >>> height = 5 * 9 >>> width * height 9000 và mở rộng đến cuối dòng vật lý. Một nhận xét có thể xuất hiện khi bắt đầu một dòng hoặc theo khoảng trắng hoặc mã, nhưng không phải trong một chuỗi theo nghĩa đen. Một ký tự băm trong một chuỗi theo nghĩa đen chỉ là một ký tự băm. Vì các bình luận là để làm rõ mã và không được giải thích bởi Python, chúng có thể bị bỏ qua khi gõ vào các ví dụ.Vài ví dụ: Hãy để thử một số lệnh Python đơn giản. Bắt đầu thông dịch viên và đợi lời nhắc chính, >>> 5 ** 2 # 5 squared 25 >>> 2 ** 7 # 2 to the power of 7 1289. (Nó không nên mất nhiều thời gian.) Trình thông dịch hoạt động như một máy tính đơn giản: bạn có thể nhập một biểu thức vào nó và nó sẽ viết giá trị. Biểu thức cú pháp rất đơn giản: các toán tử >>> width = 20 >>> height = 5 * 9 >>> width * height 9003 >>> width = 20 >>> height = 5 * 9 >>> width * height 9002, >>> width = 20 >>> height = 5 * 9 >>> width * height 9003, >>> width = 20 >>> height = 5 * 9 >>> width * height 9004 và >>> width = 20 >>> height = 5 * 9 >>> width * height 9005 hoạt động giống như trong hầu hết các ngôn ngữ khác (ví dụ: Pascal hoặc C); Điểm dừng ( >>> width = 20 >>> height = 5 * 9 >>> width * height 9006) có thể được sử dụng để nhóm. Ví dụ: >>> 2 + 2 4 >>> 50 - 5*6 20 >>> (50 - 5*6) / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.6 Các số nguyên (ví dụ: >>> width = 20 >>> height = 5 * 9 >>> width * height 9007, >>> width = 20 >>> height = 5 * 9 >>> width * height 9008, >>> width = 20 >>> height = 5 * 9 >>> width * height 9009) có loại >>> width = 20 >>> height = 5 * 9 >>> width * height 90030, các số có phần phân số (ví dụ: >>> width = 20 >>> height = 5 * 9 >>> width * height 90031, >>> width = 20 >>> height = 5 * 9 >>> width * height 90032) có loại >>> width = 20 >>> height = 5 * 9 >>> width * height 90033. Chúng ta sẽ thấy thêm về các loại số sau này trong hướng dẫn. Phân chia ( >>> width = 20 >>> height = 5 * 9 >>> width * height 9005) luôn trả lại một chiếc phao. Để thực hiện phân chia sàn và nhận kết quả số nguyên, bạn có thể sử dụng toán tử >>> width = 20 >>> height = 5 * 9 >>> width * height 90035; Để tính toán phần còn lại, bạn có thể sử dụng >>> width = 20 >>> height = 5 * 9 >>> width * height 90036:floor division and get an integer result you can use the >>> width = 20 >>> height = 5 * 9 >>> width * height 90035 operator; to calculate the remainder you can use >>> width = 20 >>> height = 5 * 9 >>> width * height 90036: # this is the first comment spam = 1 # and this is the second comment # ... and now a third! text = "# This is not a comment because it's inside quotes."2Với Python, có thể sử dụng toán tử complex numbers, and uses the # this is the first comment spam = 1 # and this is the second comment # ... and now a third! text = "# This is not a comment because it's inside quotes."94 or # this is the first comment spam = 1 # and this is the second comment # ... and now a third! text = "# This is not a comment because it's inside quotes."95 suffix to indicate the imaginary part (e.g. # this is the first comment spam = 1 # and this is the second comment # ... and now a third! text = "# This is not a comment because it's inside quotes."96). 3.1.2. Dây¶Strings¶3.1.3. Danh sáchLists¶ 3.2. Những bước đầu tiên hướng tới Lập trình bàiFirst Steps Towards Programming¶Bạn có thể chuyển đổi hiển thị lời nhắc và đầu ra bằng cách nhấp vào >>> width = 20 >>> height = 5 * 9 >>> width * height 90030 tạo ra đầu ra dễ đọc hơn, bằng cách bỏ qua các trích dẫn kèm theo và bằng cách in các ký tự đã thoát ra và đặc biệt: >>> width = 20 >>> height = 5 * 9 >>> width * height 9005 Nếu bạn không muốn các ký tự được mở đầu bởi # this is the first comment spam = 1 # and this is the second comment # ... and now a third! text = "# This is not a comment because it's inside quotes."99 được hiểu là ký tự đặc biệt, bạn có thể sử dụng các chuỗi thô bằng cách thêm >>> width = 20 >>> height = 5 * 9 >>> width * height 90032 trước khi trích dẫn đầu tiên: >>> width = 20 >>> height = 5 * 9 >>> width * height 9008 Chuỗi chữ có thể trải dài nhiều dòng. Một cách là sử dụng Triple-Rotes: >>> width = 20 >>> height = 5 * 9 >>> width * height 90033 hoặc >>> width = 20 >>> height = 5 * 9 >>> width * height 90034. Kết thúc của các dòng được tự động bao gồm trong chuỗi, nhưng nó có thể ngăn chặn điều này bằng cách thêm # this is the first comment spam = 1 # and this is the second comment # ... and now a third! text = "# This is not a comment because it's inside quotes."99 ở cuối dòng. Ví dụ sau: >>> 2 + 2 4 >>> 50 - 5*6 20 >>> (50 - 5*6) / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.60 tạo ra đầu ra sau (lưu ý rằng dòng mới ban đầu không được bao gồm): >>> 2 + 2 4 >>> 50 - 5*6 20 >>> (50 - 5*6) / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.61 Chuỗi có thể được nối (dán lại với nhau) với toán tử >>> width = 20 >>> height = 5 * 9 >>> width * height 9002 và lặp lại với >>> width = 20 >>> height = 5 * 9 >>> width * height 9004: >>> 2 + 2 4 >>> 50 - 5*6 20 >>> (50 - 5*6) / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.62 Hai hoặc nhiều chuỗi chữ (nghĩa là các chữ cái được đặt giữa các trích dẫn) bên cạnh nhau được tự động kết hợp. Tính năng này đặc biệt hữu ích khi bạn muốn phá vỡ chuỗi dài: >>> 2 + 2 4 >>> 50 - 5*6 20 >>> (50 - 5*6) / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.63 Điều này chỉ hoạt động với hai nghĩa đen, không phải với các biến hoặc biểu thức: >>> 2 + 2 4 >>> 50 - 5*6 20 >>> (50 - 5*6) / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.64 Nếu bạn muốn kết hợp các biến hoặc một biến và nghĩa đen, hãy sử dụng >>> width = 20 >>> height = 5 * 9 >>> width * height 9002: >>> 2 + 2 4 >>> 50 - 5*6 20 >>> (50 - 5*6) / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.65 Các chuỗi có thể được lập chỉ mục (đăng ký), với ký tự đầu tiên có chỉ số 0. không có loại ký tự riêng biệt; Một ký tự chỉ đơn giản là một chuỗi có kích thước một: >>> 2 + 2 4 >>> 50 - 5*6 20 >>> (50 - 5*6) / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.66 Các chỉ số cũng có thể là số âm, để bắt đầu đếm từ bên phải: >>> 2 + 2 4 >>> 50 - 5*6 20 >>> (50 - 5*6) / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.67 Lưu ý rằng vì -0 giống như 0, các chỉ số âm bắt đầu từ -1. Ngoài việc lập chỉ mục, cắt lát cũng được hỗ trợ. Mặc dù lập chỉ mục được sử dụng để có được các ký tự riêng lẻ, việc cắt cho phép bạn có được chuỗi con: >>> 2 + 2 4 >>> 50 - 5*6 20 >>> (50 - 5*6) / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.68 Chỉ số lát cắt có mặc định hữu ích; Chỉ số đầu tiên bị bỏ qua mặc định về 0, một chỉ số thứ hai bị bỏ qua mặc định theo kích thước của chuỗi được cắt. >>> 2 + 2 4 >>> 50 - 5*6 20 >>> (50 - 5*6) / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.69 Lưu ý cách bắt đầu luôn được bao gồm và kết thúc luôn bị loại trừ. Điều này đảm bảo rằng >>> width = 20 >>> height = 5 * 9 >>> width * height 90039 luôn bằng >>> width = 20 >>> height = 5 * 9 >>> width * height 90050: # this is the first comment spam = 1 # and this is the second comment # ... and now a third! text = "# This is not a comment because it's inside quotes."20 Một cách để nhớ cách thức hoạt động của các lát cắt là nghĩ về các chỉ số như chỉ giữa các ký tự, với cạnh trái của ký tự đầu tiên được đánh số 0. Sau đó, cạnh phải của ký tự cuối cùng của chuỗi N ký tự có chỉ mục N, ví dụ: # this is the first comment spam = 1 # and this is the second comment # ... and now a third! text = "# This is not a comment because it's inside quotes."21 Hàng số đầu tiên cho vị trí của các chỉ số 0 6 6 trong chuỗi; Hàng thứ hai đưa ra các chỉ số âm tương ứng. Các lát từ I đến J bao gồm tất cả các ký tự giữa các cạnh được dán nhãn I và J, tương ứng. Đối với các chỉ số không âm, độ dài của một lát là sự khác biệt của các chỉ số, nếu cả hai đều nằm trong giới hạn. Ví dụ, độ dài của >>> width = 20 >>> height = 5 * 9 >>> width * height 90051 là 2. Cố gắng sử dụng một chỉ mục quá lớn sẽ dẫn đến một lỗi: # this is the first comment spam = 1 # and this is the second comment # ... and now a third! text = "# This is not a comment because it's inside quotes."22 Tuy nhiên, các chỉ số lát cắt phạm vi được xử lý một cách duyên dáng khi được sử dụng để cắt: # this is the first comment spam = 1 # and this is the second comment # ... and now a third! text = "# This is not a comment because it's inside quotes."23 Chuỗi Python không thể thay đổi - chúng là bất biến. Do đó, việc gán cho một vị trí được lập chỉ mục trong chuỗi kết quả trong một lỗi:immutable. Therefore, assigning to an indexed position in the string results in an error:immutable. Therefore, assigning to an indexed position in the string results in an error: # this is the first comment spam = 1 # and this is the second comment # ... and now a third! text = "# This is not a comment because it's inside quotes."24 Nếu bạn cần một chuỗi khác, bạn nên tạo một chuỗi mới: # this is the first comment spam = 1 # and this is the second comment # ... and now a third! text = "# This is not a comment because it's inside quotes."25 Hàm tích hợp >>> width = 20 >>> height = 5 * 9 >>> width * height 90052 trả về độ dài của chuỗi: # this is the first comment spam = 1 # and this is the second comment # ... and now a third! text = "# This is not a comment because it's inside quotes."26 3.1.3. Danh sáchLists¶Python biết một số loại dữ liệu hỗn hợp, được sử dụng để nhóm các giá trị khác với nhau. Tính linh hoạt nhất là danh sách, có thể được viết làm danh sách các giá trị (mục) được phân tách bằng dấu phẩy giữa các dấu ngoặc vuông. Danh sách có thể chứa các mục thuộc các loại khác nhau, nhưng thường thì các mục đều có cùng loại. # this is the first comment spam = 1 # and this is the second comment # ... and now a third! text = "# This is not a comment because it's inside quotes."27 Giống như các chuỗi (và tất cả các loại trình tự tích hợp khác), danh sách có thể được lập chỉ mục và cắt lát:sequence types), lists can be indexed and sliced:sequence types), lists can be indexed and sliced: # this is the first comment spam = 1 # and this is the second comment # ... and now a third! text = "# This is not a comment because it's inside quotes."28 Tất cả các hoạt động lát cắt trả về một danh sách mới có chứa các yếu tố được yêu cầu. Điều này có nghĩa là lát cắt sau trả về một bản sao nông của danh sách:shallow copy of the list:shallow copy of the list: # this is the first comment spam = 1 # and this is the second comment # ... and now a third! text = "# This is not a comment because it's inside quotes."29 Danh sách cũng hỗ trợ các hoạt động như Concatenation: >>> 5 ** 2 # 5 squared 25 >>> 2 ** 7 # 2 to the power of 7 1280 Không giống như các chuỗi, là bất biến, danh sách là một loại có thể thay đổi, tức là có thể thay đổi nội dung của chúng:immutable, lists are a mutable type, i.e. it is possible to change their content:immutable, lists are a mutable type, i.e. it is possible to change their content: >>> 5 ** 2 # 5 squared 25 >>> 2 ** 7 # 2 to the power of 7 1281 Bạn cũng có thể thêm các mục mới ở cuối danh sách, bằng cách sử dụng phương thức >>> width = 20 >>> height = 5 * 9 >>> width * height 90053 (chúng ta sẽ thấy thêm về các phương thức sau): >>> 5 ** 2 # 5 squared 25 >>> 2 ** 7 # 2 to the power of 7 1282 Việc gán cho các lát cũng có thể, và điều này thậm chí có thể thay đổi kích thước của danh sách hoặc xóa hoàn toàn nó: >>> 5 ** 2 # 5 squared 25 >>> 2 ** 7 # 2 to the power of 7 1283 Chức năng tích hợp >>> width = 20 >>> height = 5 * 9 >>> width * height 90052 cũng áp dụng cho danh sách: >>> 5 ** 2 # 5 squared 25 >>> 2 ** 7 # 2 to the power of 7 1284 Có thể làm tổ danh sách (tạo danh sách chứa các danh sách khác), ví dụ: >>> 5 ** 2 # 5 squared 25 >>> 2 ** 7 # 2 to the power of 7 1285 3.2. Những bước đầu tiên hướng tới Lập trình bàiFirst Steps Towards Programming¶Tất nhiên, chúng ta có thể sử dụng Python cho các nhiệm vụ phức tạp hơn so với việc thêm hai và hai lại với nhau. Chẳng hạn, chúng ta có thể viết một chuỗi con ban đầu của loạt Fibonacci như sau: >>> 5 ** 2 # 5 squared 25 >>> 2 ** 7 # 2 to the power of 7 1286 Ví dụ này giới thiệu một số tính năng mới.
Chú thích 1Vì >>> width = 20 >>> height = 5 * 9 >>> width * height 90037 có ưu tiên cao hơn >>> width = 20 >>> height = 5 * 9 >>> width * height 9003, >>> width = 20 >>> height = 5 * 9 >>> width * height 90088 sẽ được hiểu là >>> width = 20 >>> height = 5 * 9 >>> width * height 90089 và do đó dẫn đến >>> 2 + 2 4 >>> 50 - 5*6 20 >>> (50 - 5*6) / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.600. Để tránh điều này và nhận >>> 2 + 2 4 >>> 50 - 5*6 20 >>> (50 - 5*6) / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.601, bạn có thể sử dụng >>> 2 + 2 4 >>> 50 - 5*6 20 >>> (50 - 5*6) / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.602.22 Không giống như các ngôn ngữ khác, các ký tự đặc biệt như >>> 2 + 2 4 >>> 50 - 5*6 20 >>> (50 - 5*6) / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.603 có cùng ý nghĩa với cả trích dẫn đơn ( # this is the first comment spam = 1 # and this is the second comment # ... and now a third! text = "# This is not a comment because it's inside quotes."97) và Double ( # this is the first comment spam = 1 # and this is the second comment # ... and now a third! text = "# This is not a comment because it's inside quotes."98). Sự khác biệt duy nhất giữa hai là trong các trích dẫn duy nhất, bạn không cần phải trốn thoát >>> 2 + 2 4 >>> 50 - 5*6 20 >>> (50 - 5*6) / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.606 (nhưng bạn phải trốn thoát >>> 2 + 2 4 >>> 50 - 5*6 20 >>> (50 - 5*6) / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.607) và ngược lại. |