Khi kết thúc hướng dẫn này, bạn sẽ tạo được một danh sách thực phẩm ảo siêu thú vị mà bạn có thể khoe với bạn bè, những người vẫn sử dụng… giấy. Các công cụ chúng tôi cần để hoàn thành mục tiêu này là danh sách, booleans và đầu vào từ người dùng
Ảnh của Glenn Carstens-Peters trên Bapt
Nếu bạn chưa có, hãy cài đặt Python từ đây. Nếu bạn nghĩ rằng bạn có thể cần hướng dẫn rõ ràng, hãy xem bài viết này
Điều kiện tiên quyết. Không có gì thực sự, ngoại trừ một chút quyết tâm
Làm thế nào để chúng ta bắt đầu?
Tốt nhất là luôn bắt đầu bằng cách khởi tạo các biến của bạn. Nếu bạn không khởi tạo các biến của mình [có nghĩa là đặt chúng thành giá trị ban đầu] trước khi sử dụng chúng, Python sẽ mắng bạn bằng văn bản màu đỏ, vì nó sẽ phá vỡ các quy tắc cú pháp. Nhưng trước khi khởi tạo bất cứ thứ gì, chúng ta nên hiểu các biến mà chúng ta sẽ sử dụng
Các loại biến
Cũng giống như trong đại số, Python sử dụng biến để lưu trữ giá trị. Tuy nhiên, các biến này có thể được đặt tên theo những thứ khác ngoài x, y, z, v.v. và giá trị của chúng không chỉ là những con số. Chúng tôi sẽ sử dụng hai loại giá trị trong hướng dẫn này
- Booleans — Các biến kiểu “boolean” lưu trữ giá trị True hoặc False. Ví dụ.
pinocchio_lied = True
- Chuỗi — Các biến của văn bản lưu trữ kiểu “Chuỗi”. Văn bản luôn được đặt giữa các trích dẫn. Bán tại.
name = "Jenny".
Danh sách và khởi tạo
Có được điều này, chúng ta cũng có thể gán nhiều giá trị cho một biến. Danh sách có thể được tạo thành từ một loại [ ex. names = ["Sarah","John"]
] hoặc nhiều loại. Đây là nơi cốt lõi của chương trình danh sách tạp hóa của chúng tôi nằm
Bây giờ, chúng ta có thể khởi tạo các biến của mình như vậy
grocery_list = [] ##All lists follow the same syntax of [ , , ]
needs_items = True ##Do we need items? Yes
Điều gì tiếp theo?Suy nghĩ thông qua nó
Chúng ta có thể nhảy ngay vào mã ở đây, nhưng tôi luôn thấy việc lên kế hoạch cho những gì mình sẽ làm trước khi thực sự làm nó dễ dàng hơn. Điều này cho phép chúng ta dành nhiều thời gian hơn để suy nghĩ về logic của chương trình, thay vì dành nhiều thời gian cho Stack Overflow để cố gắng tìm ra lỗi sai
Vì vậy, khi xây dựng danh sách tạp hóa của mình, chúng tôi nên nghĩ đến người dùng và cách họ sẽ tương tác với những gì chúng tôi đã xây dựng. Điều gì diễn ra trong đầu bạn khi bạn liệt kê các mục trên một tờ giấy?
Một, bạn bắt đầu với một tờ giấy trắng [đó là lý do tại sao chúng tôi đã khởi tạo danh sách của mình trước đó]. Sau đó, bạn tự hỏi mình muốn viết gì, sau đó bạn viết những gì bạn có trong đầu. Sau khi viết ra mục cụ thể đó, bạn tự hỏi mình có muốn thêm mục khác không. Nếu bạn làm như vậy, sau đó bạn sẽ lặp lại quá trình. Nếu không, bạn sẽ ngừng nghĩ đến việc thêm các mục vào danh sách và bạn sẽ treo nó lên tủ lạnh để giữ an toàn
Hãy tự khen mình, bạn vừa học cách sử dụng vòng lặp while, câu lệnh if và đầu vào của người dùng mà không cần gõ một dòng mã nào
Mã, và tại sao nó hoạt động
Theo logic mà chúng tôi vừa nghĩ ra, mã cho danh sách tạp hóa của chúng tôi sẽ như thế này
grocery_list = []
needs_items = Truewhile needs_items == True:
item_to_add = input["What item do you want to add? "]
grocery_list.append[item_to_add]
print["Your grocery list has the following items in it: "]
print["-----"]
for item in grocery_list:
print["- " + item]
print["-----"]
answer = input["Add another item? [y/n] "]
if answer == "n":
needs_items = Falseprint["Your final grocery list is: "]
print["-----"]
for item in grocery_list:
print["- " + item]
print["-----"]
Nếu bạn nhìn thấy thứ gì đó như thế này lần đầu tiên và bạn có thể cảm thấy cơn đau nửa đầu đang ập đến, hãy đợi một chút - rất có thể bạn đang suy nghĩ quá nhiều về nó. Hãy cùng nhau vượt qua
Chúng ta đã nói về các giá trị khởi tạo, vì vậy bây giờ hãy bỏ qua phần đó và phóng to phần “trong khi” đang diễn ra. while needs_items == True:
chỉ có nghĩa là miễn là chúng tôi vẫn cần các mặt hàng, chúng tôi sẽ tiếp tục yêu cầu người dùng thêm các mặt hàng vào danh sách. Chúng tôi thực hiện tất cả các phép cộng trong vùng thụt vào bên dưới vòng lặp while
Đầu tiên, chúng tôi hỏi người dùng xem họ muốn thêm gì vào danh sách bằng cách sử dụng phương thức input[]
. Sau đó, chúng tôi gán bất cứ thứ gì họ cung cấp cho chúng tôi cho một biến có tên là item_to_add
. Khi chúng tôi có giá trị của mình, chúng tôi sử dụng phương pháp
grocery_list = []0 để thêm nó vào danh sách thực phẩm của mình, do đó,
needs_items = Truewhile needs_items == True:
item_to_add = input["What item do you want to add? "]
grocery_list.append[item_to_add]
print["Your grocery list has the following items in it: "]
print["-----"]
for item in grocery_list:
print["- " + item]
print["-----"]
answer = input["Add another item? [y/n] "]
if answer == "n":
needs_items = Falseprint["Your final grocery list is: "]
print["-----"]
for item in grocery_list:
print["- " + item]
print["-----"]
grocery_list = []1 Chúng tôi có thể dừng lại ở đây, nhưng chúng tôi muốn có thể xem tiến trình của mình
needs_items = Truewhile needs_items == True:
item_to_add = input["What item do you want to add? "]
grocery_list.append[item_to_add]
print["Your grocery list has the following items in it: "]
print["-----"]
for item in grocery_list:
print["- " + item]
print["-----"]
answer = input["Add another item? [y/n] "]
if answer == "n":
needs_items = Falseprint["Your final grocery list is: "]
print["-----"]
for item in grocery_list:
print["- " + item]
print["-----"]
Để hiển thị danh sách tạp hóa sau khi đã thêm một danh sách, chúng tôi lặp qua danh sách của mình bằng cách sử dụng thứ gọi là vòng lặp for
for item in grocery_list:
print["- " + item]
Chúng tôi chỉ đơn giản là đi qua từng
grocery_list = []2 trong danh sách và nói. cho mặt hàng này, in ra mặt hàng. “-” đang được thêm vào
needs_items = Truewhile needs_items == True:
item_to_add = input["What item do you want to add? "]
grocery_list.append[item_to_add]
print["Your grocery list has the following items in it: "]
print["-----"]
for item in grocery_list:
print["- " + item]
print["-----"]
answer = input["Add another item? [y/n] "]
if answer == "n":
needs_items = Falseprint["Your final grocery list is: "]
print["-----"]
for item in grocery_list:
print["- " + item]
print["-----"]
grocery_list = []2 để tạo một chuỗi đầy đủ bao gồm cả dấu đầu dòng và tên của mục
needs_items = Truewhile needs_items == True:
item_to_add = input["What item do you want to add? "]
grocery_list.append[item_to_add]
print["Your grocery list has the following items in it: "]
print["-----"]
for item in grocery_list:
print["- " + item]
print["-----"]
answer = input["Add another item? [y/n] "]
if answer == "n":
needs_items = Falseprint["Your final grocery list is: "]
print["-----"]
for item in grocery_list:
print["- " + item]
print["-----"]
Các câu lệnh
grocery_list = []4 bạn vẫn thấy xung quanh không ảnh hưởng đến dòng mã. Thay vào đó, chúng giúp người dùng hiểu điều gì đang diễn ra dễ dàng hơn bằng cách tách từng danh sách mà chúng tôi in ra
needs_items = Truewhile needs_items == True:
item_to_add = input["What item do you want to add? "]
grocery_list.append[item_to_add]
print["Your grocery list has the following items in it: "]
print["-----"]
for item in grocery_list:
print["- " + item]
print["-----"]
answer = input["Add another item? [y/n] "]
if answer == "n":
needs_items = Falseprint["Your final grocery list is: "]
print["-----"]
for item in grocery_list:
print["- " + item]
print["-----"]
Khi chúng tôi hoàn thành việc thêm một mục nhất định, chúng tôi sẽ hỏi người dùng xem họ có muốn thêm một mục khác hay không bằng cách ám chỉ câu trả lời là “y” hoặc “n”, mà chúng tôi có thể gán cho biến
grocery_list = []5. Sau đó, chúng tôi sử dụng câu lệnh if để xác định phải làm gì nếu câu trả lời là “n”, không. Nếu câu trả lời là “n”, chúng tôi thay đổi trạng thái của biến
needs_items = Truewhile needs_items == True:
item_to_add = input["What item do you want to add? "]
grocery_list.append[item_to_add]
print["Your grocery list has the following items in it: "]
print["-----"]
for item in grocery_list:
print["- " + item]
print["-----"]
answer = input["Add another item? [y/n] "]
if answer == "n":
needs_items = Falseprint["Your final grocery list is: "]
print["-----"]
for item in grocery_list:
print["- " + item]
print["-----"]
grocery_list = []6 thành
needs_items = Truewhile needs_items == True:
item_to_add = input["What item do you want to add? "]
grocery_list.append[item_to_add]
print["Your grocery list has the following items in it: "]
print["-----"]
for item in grocery_list:
print["- " + item]
print["-----"]
answer = input["Add another item? [y/n] "]
if answer == "n":
needs_items = Falseprint["Your final grocery list is: "]
print["-----"]
for item in grocery_list:
print["- " + item]
print["-----"]
grocery_list = []7, vì chúng tôi biết người dùng không còn muốn thêm các mục nữa. Kết quả là, khi
needs_items = Truewhile needs_items == True:
item_to_add = input["What item do you want to add? "]
grocery_list.append[item_to_add]
print["Your grocery list has the following items in it: "]
print["-----"]
for item in grocery_list:
print["- " + item]
print["-----"]
answer = input["Add another item? [y/n] "]
if answer == "n":
needs_items = Falseprint["Your final grocery list is: "]
print["-----"]
for item in grocery_list:
print["- " + item]
print["-----"]
grocery_list = []6 trở thành sai, vòng lặp while sẽ ngừng chạy và người dùng sẽ không được yêu cầu thêm mục
needs_items = Truewhile needs_items == True:
item_to_add = input["What item do you want to add? "]
grocery_list.append[item_to_add]
print["Your grocery list has the following items in it: "]
print["-----"]
for item in grocery_list:
print["- " + item]
print["-----"]
answer = input["Add another item? [y/n] "]
if answer == "n":
needs_items = Falseprint["Your final grocery list is: "]
print["-----"]
for item in grocery_list:
print["- " + item]
print["-----"]
Phần khó khăn đã qua. Sau vòng lặp while, chúng tôi chỉ cần in ra danh sách tạp hóa cuối cùng để người dùng biết sản phẩm cuối cùng của họ trông như thế nào