Sách bài tập Python PDF

Tải xuống miễn phí Python Workout. 50 bài tập cần thiết của Reuven M. Lerner. Xuất bản bởi Manning. Giải pháp và thảo luận trong văn bản và video. Tiếng Anh. 260 trang. Đúng (PDF + EPUB, MOBI), Tệp CODE. ISBN. 978161729550

Mô tả của Python Workout

Python Workout trình bày 50 bài tập được thiết kế để nâng cao kỹ năng của bạn với Python. Bạn sẽ không chỉ giải quyết các bài tập sử dụng cấu trúc dữ liệu tích hợp mà còn cả các kỹ thuật nâng cao hơn, chẳng hạn như lập trình hàm, lập trình hướng đối tượng, trình vòng lặp và trình tạo

Với mỗi thử thách hấp dẫn, bạn sẽ thực hành một kỹ năng mới và học cách áp dụng nó vào các tác vụ mã hóa hàng ngày. Bạn cũng sẽ học cách kết hợp các tính năng và kỹ thuật để giải quyết các công việc phức tạp hơn. Để làm phong phú thêm trải nghiệm học tập của bạn, tác giả Reuven M. Lerner mở rộng giải pháp cho từng bài tập trong một loạt video minh họa

Cách duy nhất để thành thạo một kỹ năng là thực hành. Trong Python Workout, tác giả Reuven M. Lerner hướng dẫn bạn qua 50 bài tập được lựa chọn cẩn thận mời bạn vận dụng các cơ lập trình của mình. Khi bạn thực hiện từng thử thách mới, bạn sẽ xây dựng được kỹ năng lập trình và sự tự tin

Các giải thích cặn kẽ giúp bạn nắm bắt những gì bạn đã học và áp dụng nó vào các dự án của riêng bạn. Đồng thời, Python Workout cung cấp hơn bốn giờ hướng dẫn bằng video hướng dẫn bạn các giải pháp cho từng bài tập và hàng tá bài tập bổ sung để bạn tự thử

Python là một ngôn ngữ lập trình mục đích chung linh hoạt, tao nhã. Cần thiết cho phân tích dữ liệu, phát triển web, trí tuệ nhân tạo, trò chơi, ứng dụng máy tính để bàn, v.v., kỹ năng Python là một mặt hàng nóng. Để trở thành một lập trình viên Python giỏi, bạn cần thực hành, học hỏi từ những sai lầm bạn mắc phải trong quá trình thực hành và thực hành thêm. Đắm mình trong các bài tập Python là con đường nhanh nhất để thông thạo Python… và nâng cao sự nghiệp Python của bạn

Để biết thông tin trực tuyến và đặt hàng những cuốn sách này và các sách khác về Manning, vui lòng truy cập manning. com. Nhà xuất bản giảm giá cho những cuốn sách này khi đặt hàng với số lượng

Vui lòng liên lạc để biết thêm thông tin

Bộ phận bán hàng đặc biệt

Công ty xuất bản Manning

Đường 20 Baldwin

Hộp thư bưu điện 761

Đảo Shelter, NY 11964

E-mail. đơn đặt hàng @ quản lý. com

©2020 by Manning Publications Co. Đã đăng ký Bản quyền

Không phần nào của ấn phẩm này có thể được sao chép, lưu trữ trong hệ thống truy xuất hoặc truyền đi dưới bất kỳ hình thức nào hoặc bằng phương tiện điện tử, cơ khí, sao chụp hoặc cách khác mà không có sự cho phép trước bằng văn bản của nhà xuất bản

Nhiều ký hiệu được nhà sản xuất và người bán sử dụng để phân biệt sản phẩm của họ được tuyên bố là nhãn hiệu. Khi những ký hiệu đó xuất hiện trong cuốn sách và Manning Publications đã biết về khiếu nại nhãn hiệu, thì các ký hiệu đó đã được in hoa hoặc viết hoa đầu tiên.

♾ Nhận thức được tầm quan trọng của việc bảo quản những gì đã được viết, chính sách của Manning là in những cuốn sách mà chúng tôi xuất bản trên giấy không có axit và chúng tôi nỗ lực hết sức để đạt được mục tiêu đó. Cũng nhận thấy trách nhiệm của chúng ta trong việc bảo tồn các nguồn tài nguyên trên hành tinh của chúng ta, sách của Manning được in trên loại giấy ít nhất 15% được tái chế và xử lý mà không sử dụng clo nguyên tố

ISBN. 9781617295508

cống hiến

Dành tặng cho ba đứa con của tôi, chúng cũng là những giáo viên tốt nhất của tôi—

Atara Margalit, Shikma Bruria và Amotz David

Nội dung tóm tắt

1  Các loại số

2  Chuỗi

3  Danh sách và bộ dữ liệu

4  Từ điển và bộ

5  Tệp

6  Chức năng

7  Lập trình hàm với khả năng hiểu

8  Mô-đun và gói

9  Đối tượng

10  Trình lặp và trình tạo

nội dung

lời nói đầu

Sự nhìn nhận

về cuốn sách này

Giới thiệu về tác giả

về ảnh bìa minh họa

1 Kiểu số

tài liệu tham khảo hữu ích

Bài tập 1 ■ Trò chơi đoán số

Bài tập 2 ■ Tổng các số

Bài tập 3 ■ Thời gian chạy

Bài tập 4 ■ Đầu ra thập lục phân

2 dây

tài liệu tham khảo hữu ích

Bài tập 5 ■ Heo Latin

Bài tập 6 ■ Pig câu Latinh

Bài tập 7 ■ Ubbi Dubbi

Bài tập 8 ■ Sắp xếp một chuỗi

3 Danh sách và bộ dữ liệu

Bài tập 9 ■ Đầu-cuối

Bài tập 10 ■ Tính tổng

Bài tập 11 ■ Xếp theo thứ tự tên

Bài tập 12 ■ Từ có nhiều chữ cái được lặp lại nhất

Bài tập 13 ■ In bản ghi bộ

4 Từ điển và bộ

Băm và dicts

bộ

Bài tập 14 ■ Nhà hàng

Bài tập 15 ■ Lượng mưa

Bài tập 16 ■ Dictdiff

Bài tập 17 ■ Có bao nhiêu số khác nhau?

5 tệp

Bài tập 18 ■ Dòng cuối cùng

Bài tập 19 ■ /etc/passwd để đọc chính tả

Bài tập 20 ■ Đếm từ

Bài tập 21 ■ Từ dài nhất trong mỗi tệp

Bài tập 22 ■ Đọc và viết CSV

Bài tập 23 ■ JSON

Bài tập 24 ■ Đường kẻ ngược

6 chức năng

Bài tập 25 ■ Trình tạo XML

Bài tập 26 ■ Máy tính ký hiệu tiền tố

Bài tập 27 ■ Trình tạo mật khẩu

7 Lập trình chức năng với khả năng hiểu

Bài tập 28 ■ Nối số

Bài tập 29 ■ Cộng số

Bài tập 30 ■ Làm phẳng một danh sách

Bài tập 31 ■ Bản dịch tiếng Latin của một tập tin

Bài tập 32 ■ Lật một câu lệnh

Bài tập 33 ■ Biến đổi giá trị

Bài tập 34 ■ (Hầu như) từ siêu thanh

Bài tập 35a ■ Gematria, phần 1

Bài tập 35b ■ Gematria, phần 2

8 Mô-đun và gói

Bài tập 36 ■ Thuế doanh thu

Bài tập 37 ■ Thực đơn

9 đối tượng

Bài tập 38 ■ Kem xúc

Bài tập 39 ■ Tô kem

Bài tập 40 ■ Giới hạn bát

Bài tập 41 ■ Một cái bát lớn hơn

Bài tập 42 ■ Linh hoạtDict

Bài tập 43 ■ Động vật

Bài tập 44 ■ Lồng

Bài tập 45 ■ Sở thú

10 Iterators và generators

Bài tập 46 ■ MyEnumerate

Bài tập 47 ■ Khoanh tròn

Bài tập 48 ■ Tất cả các dòng, tất cả các tệp

Bài tập 49 ■ Đã trôi qua kể từ

Bài tập 50 ■ MyChain

mục lục

vấn đề phía trước

lời nói đầu

Theo nhiều cách, học một ngôn ngữ lập trình giống như học một ngôn ngữ nước ngoài (của con người). Bạn có thể tham gia một khóa học, hiểu chủ đề và thậm chí làm tốt bài kiểm tra cuối kỳ. Nhưng khi đến lúc thực sự sử dụng ngôn ngữ đó, bạn có thể thấy mình bối rối, không biết nên sử dụng cú pháp nào hoặc cách nào là cách thích hợp nhất để diễn đạt điều gì đó—chứ đừng nói đến việc không thể hiểu người bản ngữ

Đó là nơi thực hành đến. Thực hành ngoại ngữ giúp bạn lưu loát và tự tin hơn, cho phép bạn tham gia vào các cuộc trò chuyện sâu sắc và thú vị hơn. Thực hành Python cho phép bạn giải quyết các vấn đề nhanh chóng và dễ dàng hơn, đồng thời viết mã dễ đọc và dễ bảo trì hơn. Sự cải thiện xảy ra theo thời gian, khi bạn sử dụng ngôn ngữ trong các tình huống mới và đa dạng. Thường không rõ ràng là bạn đã tiến bộ. Tuy nhiên, khi bạn nhìn lại cách bạn sử dụng ngôn ngữ này chỉ vài tháng trước, sự khác biệt là rất rõ ràng.

Cuốn sách này không nhằm dạy bạn Python. Thay vào đó, nó nhằm mục đích cung cấp cho bạn cách thực hành cần thiết để đạt được sự lưu loát cao hơn. Sau khi xem qua các bài tập trong cuốn sách này—không chỉ đọc lướt qua các câu hỏi và xem qua các câu trả lời—bạn sẽ viết mã Python dễ đọc hơn, thành ngữ hơn và dễ bảo trì hơn

Python Workout là kết quả của cuộc trò chuyện với các sinh viên trong các lớp đào tạo Python của công ty tôi. Sau khi khóa học kết thúc, họ thường hỏi họ có thể thực hành thêm ở đâu để tiếp tục nâng cao kỹ năng của mình. Cuốn sách này dựa trên các phòng thí nghiệm thực hành mà tôi cho sinh viên của mình, cũng như các cuộc thảo luận mà tôi đã có với họ trong và sau giờ học

Các bài tập được thiết kế để giúp bạn tiếp thu một số ý tưởng cốt lõi trong Python. cấu trúc dữ liệu cốt lõi, hàm, khả năng hiểu, lập trình hướng đối tượng và trình vòng lặp. Đây có thể là những chủ đề đơn giản, thậm chí có thể quá đơn giản đối với một cuốn sách bài tập. Nhưng tất cả Python, từ ứng dụng lớn nhất đến tập lệnh nhỏ nhất, đều dựa trên các khối xây dựng này. Biết rõ về chúng là một phần quan trọng để trở thành một nhà phát triển Python thông thạo. Tôi thường nói rằng bỏ qua những nền tảng này để ủng hộ các chủ đề phức tạp hơn cũng giống như một sinh viên hóa học bỏ qua các nguyên tố để ủng hộ hóa chất thực sự

Cá nhân tôi có thể chứng thực sức mạnh của thực hành, không chỉ với tư cách là một người hướng dẫn Python mà còn với tư cách là một sinh viên. Trong vài năm, tôi đã học tiếng Trung Quốc, một phần không nhỏ là do tôi đến Trung Quốc vài tháng một lần để dạy các khóa Python ở đó. Mỗi bài học tôi học và mọi bài tập tôi làm dường như không cải thiện được sự lưu loát của tôi nhiều lắm. Nhưng khi tôi trở lại Trung Quốc sau vài tháng vắng mặt, tôi thấy rằng môn tu luyện thực sự đã giúp ích và tôi có thể giao tiếp dễ dàng hơn với người dân địa phương

Tôi vẫn còn chưa thông thạo tiếng Trung, nhưng tôi đang tiến bộ và tôi rất vui khi nhìn lại và thấy mình đã đi được bao xa. Tôi hy vọng và kỳ vọng rằng Python Workout cũng sẽ làm được điều tương tự với bạn, nâng cao hiểu biết và sự trôi chảy của bạn mỗi ngày

Sự nhìn nhận

Có thể là sáo rỗng khi cho rằng viết sách là một nỗ lực hợp tác, nhưng nó cũng đúng. Vì vậy, tôi muốn cảm ơn và ghi nhận một số người mà nếu không có họ thì cuốn sách này sẽ không thể thực hiện được.

Trước hết, tôi muốn cảm ơn hàng nghìn sinh viên mà tôi đã có vinh dự được giảng dạy trong nhiều năm qua trong các khóa đào tạo Python dành cho công ty của mình. Chính nhờ những câu hỏi, gợi ý, hiểu biết và sửa chữa của họ mà bài tập, lời giải và lời giải mới có được như hiện nay.

Cũng xin cảm ơn nhiều người đăng ký nhận bản tin Nhà phát triển tốt hơn hàng tuần của tôi (https. //BetterDevelopersWeekly. com/), những người thường dành thời gian để bình luận và sửa các chủ đề mà tôi đã viết. Tôi đã học được rất nhiều từ họ và thường áp dụng những hiểu biết sâu sắc đó vào việc giảng dạy của mình.

Tiếp theo, Philip Guo (http. //pgbovine. net/) là trợ lý giáo sư về Khoa học nhận thức tại UC San Diego. Anh ấy cũng là tác giả và người duy trì trang web Python Tutor, một công cụ vô giá mà tôi thường sử dụng trong các khóa học của mình và tôi khuyến khích sinh viên của mình sử dụng khi họ giải mã Python của mình. Tôi đã sử dụng nhiều ảnh chụp màn hình từ Python Tutor trong cuốn sách này và hầu hết mọi giải pháp bài tập đều có liên kết đến trang web đó để bạn có thể tự mình xem qua mã

Cảm ơn tất cả những người làm việc trên Python, từ các nhà phát triển cốt lõi, đến những người viết và viết blog về ngôn ngữ này, đến những người đóng góp các gói. Hệ sinh thái Python là một thành tựu kỹ thuật ấn tượng, nhưng tôi cũng bị ấn tượng bởi số lượng những người thực sự hữu ích, tử tế và ấm áp mà tôi đã gặp, những người chịu trách nhiệm cho những thành tựu đó

Rất nhiều người ở Manning đã đóng góp cho cuốn sách, khiến nó trở nên hay hơn nhiều so với bất kỳ thứ gì mà tôi có thể tự mình làm. (Và có bằng chứng; tiền thân tự xuất bản của cuốn sách này gần như không hay bằng những gì bạn đang đọc. ) Tôi đã làm việc chặt chẽ với một vài người trong số họ, tất cả đều kết hợp kỹ năng và sự kiên nhẫn để giúp cuốn sách này trở nên sống động. Michael Stephens đã nhìn thấy triển vọng của một cuốn sách tập trung vào bài tập như vậy và khuyến khích tôi cộng tác với Manning. Frances Lefkowitz không chỉ có kỹ năng chỉnh sửa văn bản và chỉ ra những chỗ cần cải thiện, chia nhỏ hoặc minh họa; . Gary Hubbard và Ignacio Beltran Torres đều cung cấp vô số thông tin chi tiết và chỉnh sửa kỹ thuật, tìm lỗi và giúp tôi thắt chặt các giải thích sai. Và Carl Quesnel đã gây ấn tượng sâu sắc với tôi bằng những chỉnh sửa chi tiết của anh ấy đối với văn bản cuối cùng

Gửi tất cả những người đánh giá. Diễn viên: Annette DewindBill BaileyCharles DanielsChristoffer FinkDavid KriefDavid MoravecDavid R. Snyder, Gary Hubbard, Geoff Craig, Glen Sirakavit, Jean-François Morin, Jeff Smith, Jens Christian B. Madsen, Jim Amrhein, Joe Justesen, Kieran Coote-Dinh, Mark Elston, Mayur Patil, Meredith Godar, Stefan Trost, Steve Love, Sushant Bhosale, Tamara L. Fultz, Tony Holdroyd và Warren Myers, những gợi ý của bạn đã giúp cuốn sách này trở nên hay hơn

Cuối cùng, gia đình tôi đã kiên nhẫn trong suốt sự nghiệp kinh doanh và học tập của tôi. Chúng rất hữu ích và thấu hiểu khi tôi phát triển quá trình đào tạo của mình, hoàn thành bằng tiến sĩ và sau đó bắt đầu đi khắp thế giới để giảng dạy Python. Khi nói đến cuốn sách này, họ thực sự đã kiên nhẫn hai lần. đầu tiên là khi tôi tự xuất bản nó trên trang web của mình, và sau đó là khi nó được nâng cấp, mở rộng và cải thiện (khá đáng kể) để trở thành thứ mà bạn đang đọc bây giờ. Cảm ơn vợ tôi, Shira và các con tôi, Atara, Shikma và Amotz, vì sự hiểu biết và đánh giá cao của chúng

về cuốn sách này

Python Workout không được thiết kế để dạy bạn Python, mặc dù tôi hy vọng và kỳ vọng rằng bạn sẽ học được khá nhiều trong quá trình học. Nó nhằm giúp bạn nâng cao hiểu biết về Python và cách sử dụng nó để giải quyết vấn đề. Bạn có thể coi nó như một cuốn sách bài tập, một cuốn sách có sức mạnh và tiềm năng học tập phụ thuộc vào bạn. Bạn càng bỏ nhiều công sức vào cuốn sách này, bạn càng thu được nhiều điều từ nó

Nói cách khác, đây là một cuốn sách mà bạn không nên chỉ đọc hoặc lật từng trang. Để việc học diễn ra, bạn sẽ phải dành thời gian trả lời các câu hỏi và mắc những sai lầm không thể tránh khỏi. Có một thế giới khác biệt giữa việc đọc một giải pháp và tự viết giải pháp. Tôi hy vọng rằng bạn sẽ đầu tư thời gian để trả lời các vấn đề;

Khi hoàn thành Bài tập Python, bạn sẽ giải quyết được nhiều vấn đề liên quan đến cấu trúc dữ liệu cốt lõi, hàm, khả năng hiểu, mô-đun, đối tượng và trình vòng lặp. Bạn sẽ hiểu cách sử dụng chúng một cách hiệu quả và sẽ biết cách sử dụng chúng theo nhiều cách thành ngữ khác nhau. Sau khi hoàn thành các bài tập này, bạn sẽ thấy việc thiết kế và viết các chương trình Python phục vụ công việc và giải trí trở nên dễ dàng hơn

Lưu ý rằng việc tìm trợ giúp trong tài liệu Python hoặc thậm chí trên các trang web như Stack Overflow (https. //Ngăn xếp tràn. com/). Không lập trình viên nào có thể nhớ mọi thứ họ cần trong công việc hàng ngày. Tôi hy vọng rằng khi bạn hoàn thành cuốn sách và sau đó sử dụng Python trong sự nghiệp của mình, bạn sẽ thấy mình ít tham khảo các tài liệu đó hơn hoặc chỉ tham khảo các chủ đề nâng cao hơn

ai nên đọc cuốn sách này

Cuốn sách này dành cho các nhà phát triển đã tham gia khóa học Python hoặc có lẽ đã đọc một cuốn sách giới thiệu về ngôn ngữ này. Thật vậy, phần lớn các bài tập này là dành cho những người đang tham gia khóa học Python cơ bản của tôi hoặc những người gần đây đã hoàn thành khóa học này. Bạn đã có hiểu biết về các cấu trúc cơ bản, chẳng hạn như if và for, cũng như các cấu trúc dữ liệu cốt lõi, chẳng hạn như chuỗi, danh sách, bộ dữ liệu và từ điển

Nhưng có một sự khác biệt giữa việc quen thuộc với các chủ đề này và biết cách áp dụng chúng vào các vấn đề thực tế. Nếu bạn có thể làm quen với Python nhưng thấy mình phải vào Stack Overflow nhiều lần mỗi ngày, thì cuốn sách này sẽ giúp bạn trở nên tự tin và độc lập hơn khi viết mã Python. Tôi cho rằng nếu bạn sử dụng Python thường xuyên trong vòng chưa đầy sáu tháng, thì bạn sẽ thu được nhiều lợi ích từ cuốn sách này

Cuốn sách này được tổ chức như thế nào. một bản đồ đường

Cuốn sách này có mười chương, mỗi chương tập trung vào một khía cạnh khác nhau của Python. Tuy nhiên, các bài tập trong mỗi chương sẽ sử dụng các kỹ thuật từ các chương khác. Ví dụ, gần như mọi bài tập đều yêu cầu bạn viết một hàm hoặc một lớp, mặc dù các hàm được giới thiệu trong chương 6 và các lớp được giới thiệu trong chương 9. Hãy nghĩ về những cái tên như những nguyên tắc chung, chứ không phải là những quy tắc nghiêm ngặt, cho những gì bạn sẽ thực hành và học hỏi trong mỗi chương

Các chương là

các loại số. Số nguyên và số thực—và chuyển đổi giữa số và chuỗi

Dây. Làm việc với các chuỗi và xem chúng không chỉ là văn bản mà còn là các chuỗi mà bạn có thể lặp lại

Danh sách và bộ dữ liệu. Tạo, sửa đổi (trong trường hợp danh sách) và truy xuất từ ​​danh sách và bộ dữ liệu

Từ điển và bộ. Khám phá những cách khác nhau mà bạn có thể sử dụng dicts và một số phương pháp hữu ích của chúng. Ngoài ra, một số cách sử dụng cho bộ, có liên quan đến dicts

Các tập tin. Đọc từ và ghi vào tập tin

Chức năng. Viết các hàm, bao gồm các hàm lồng nhau. Khám phá các quy tắc phạm vi của Python

Lập trình chức năng với sự hiểu biết. Giải quyết các vấn đề với khả năng hiểu danh sách, tập hợp và chính tả

Mô-đun và gói. Viết và sử dụng các mô-đun trong chương trình Python

Các đối tượng. Tạo lớp, viết phương thức, sử dụng thuộc tính và hiểu tính kế thừa

Trình vòng lặp và máy phát điện. Thêm giao thức iterator vào các lớp, viết các hàm tạo và viết phần hiểu của trình tạo

Bài tập tạo thành phần chính của mỗi chương. Đối với mỗi bài tập, bạn sẽ tìm thấy năm thành phần

Bài tập. Một tuyên bố vấn đề để bạn giải quyết

làm việc đó ra. Một cuộc thảo luận chi tiết về vấn đề và làm thế nào để giải quyết nó

Giải pháp. Mã giải pháp, cùng với liên kết tới mã trên Python Tutor (pythontutor. com) để bạn có thể thực thi nó. Mã giải pháp, cùng với mã kiểm tra cho từng giải pháp, cũng có sẵn trên GitHub tại https. //github. com/reuven/python-workout

giải pháp truyền hình. Một đoạn video ngắn trình diễn, trong đó tôi hướng dẫn bạn giải pháp trong một bản ghi màn hình. Bạn có thể xem video để thấy không chỉ câu trả lời mà cả quá trình tôi trải qua để cố gắng đạt được câu trả lời đó. Nếu bạn đọc cuốn sách này trên nền tảng liveBook của Manning, các video ghi lại màn hình sẽ xuất hiện ngay sau mỗi giải pháp. Trong bản in và sách điện tử, bạn sẽ sử dụng liên kết đến trang điều hướng (https. // sổ trực tiếp. quản lý. com/video/python-workout), sau đó chọn bài tập theo số và tên

Ngoài bài tập. Ba bài tập bổ sung, liên quan. Những câu hỏi này không được trả lời cũng như không được thảo luận trong sách—nhưng mã này có thể tải xuống được, cùng với tất cả mã giải pháp khác từ sách. (Xem phần tiếp theo để biết chi tiết. ) Và bạn có thể thảo luận về các bài tập bổ sung này—và so sánh các giải pháp—với những người đọc Python Workout khác trong diễn đàn trực tuyến của cuốn sách trên nền tảng liveBook của Manning

Bên cạnh các bài tập là rất nhiều thanh bên, mỗi thanh giải thích một chủ đề thường khiến các nhà phát triển Python bối rối. Ví dụ: có các thanh bên trên chuỗi f, phạm vi biến và điều gì xảy ra khi bạn tạo một đối tượng mới. Cuốn sách cũng chứa nhiều gợi ý, mẹo và ghi chú—tất cả các gợi ý đều nhằm giúp bạn cải thiện khả năng mã hóa Python trôi chảy của mình và để cảnh báo bạn tránh lặp lại những sai lầm mà tôi đã mắc phải nhiều lần trong nhiều năm

Về mã

Cuốn sách này chứa rất nhiều mã Python. Không giống như hầu hết các cuốn sách, mã phản ánh những gì bạn phải viết, hơn là những gì bạn phải đọc. Nếu kinh nghiệm là bất kỳ hướng dẫn nào, một số độc giả (có thể bạn. ) sẽ có các giải pháp tốt hơn, thanh lịch hơn hoặc chính xác hơn của tôi. Nếu đây là trường hợp, thì đừng ngần ngại liên hệ với tôi

Giải pháp cho tất cả các bài tập, bao gồm cả các câu hỏi ngoài bài tập, có sẵn ở hai nơi. trên Python Tutor (pythontutor. com), cung cấp môi trường để bạn thực thi mã hoặc trên GitHub tại https. //github. com/reuven/python-workout, cho phép bạn tải xuống mã. Kho lưu trữ này không chỉ chứa tất cả các giải pháp mà còn bao gồm các bài kiểm tra pytest cho từng giải pháp. (Không quen thuộc với pytest? Tôi thực sự khuyến khích bạn đọc về nó tại https. // pytest. org/, và sử dụng nó để kiểm tra mã của bạn. )

Có một số khác biệt nhỏ giữa mã trong kho GitHub và những gì được xuất bản trong cuốn sách. Đặc biệt, các giải pháp trong cuốn sách không bao gồm các chuỗi tài liệu cho các hàm, lớp và mô-đun;

Cuốn sách này chứa nhiều ví dụ về mã nguồn cả trong danh sách được đánh số và phù hợp với văn bản bình thường. Trong cả hai trường hợp, mã nguồn được định dạng bằng phông chữ có độ rộng cố định như thế này để tách nó khỏi văn bản thông thường. Đôi khi mã cũng được in đậm để làm nổi bật mã đã thay đổi so với các bước trước đó trong chương, chẳng hạn như khi một tính năng mới thêm vào một dòng mã hiện có

Trong nhiều trường hợp, mã nguồn ban đầu đã được định dạng lại; . Trong một số ít trường hợp, thậm chí điều này là không đủ và danh sách bao gồm các dấu tiếp tục dòng (➥). Ngoài ra, các nhận xét trong mã nguồn thường bị xóa khỏi danh sách khi mã được mô tả trong văn bản. Chú thích mã đi kèm với nhiều danh sách, làm nổi bật các khái niệm quan trọng

Như tôi đã đề cập trước đây, mua cuốn sách này cũng cho phép bạn truy cập vào các bản ghi màn hình cảnh tôi giải từng bài tập. Tôi hy vọng rằng sự kết hợp của mã giải pháp (bản in), giải thích, liên kết Python Tutor, mã có thể tải xuống, bài kiểm tra pytest và bản ghi màn hình sẽ giúp bạn hiểu đầy đủ từng giải pháp và áp dụng các bài học của nó vào mã của riêng bạn

Yêu cầu phần mềm/phần cứng

Đầu tiên và quan trọng nhất, cuốn sách này yêu cầu bạn phải cài đặt một bản Python. Bạn có thể tải và cài đặt dễ dàng nhất từ ​​https. //trăn. tổ chức/. Tôi khuyên bạn nên cài đặt phiên bản mới nhất hiện có. Ngoài ra còn có các cách khác để cài đặt Python, bao gồm Windows Store hoặc Homebrew cho Mac

Cuốn sách này sẽ hoạt động với mọi phiên bản Python từ 3. 6 trở lên. Ở một số chỗ, văn bản mô tả các tính năng mới trong Python 3. 7 và 3. 8, nhưng tất cả các giải pháp đều sử dụng các kỹ thuật hoạt động với 3. 6. Tất cả các chương trình đều hoạt động trên các hệ điều hành, vì vậy, bất kể bạn đang sử dụng nền tảng nào, các bài tập trong cuốn sách này sẽ hoạt động

Về mặt kỹ thuật, bạn không cần cài đặt trình chỉnh sửa hoặc IDE (môi trường phát triển tích hợp) cho Python, nhưng chắc chắn nó sẽ có ích. Hai trong số các IDE phổ biến nhất là PyCharm (từ JetBrains) và VSCode (từ Microsoft). Các nhà phát triển Python cũ hơn và/hoặc truyền thống hơn sử dụng vim hoặc Emacs (sở thích cá nhân của tôi). Nhưng vào cuối ngày, bạn có thể và nên sử dụng bất kỳ trình chỉnh sửa nào phù hợp nhất với mình. Python không thực sự quan tâm bạn đang sử dụng phiên bản nào

diễn đàn thảo luận liveBook

Mua Python Workout bao gồm quyền truy cập miễn phí vào diễn đàn web riêng do Manning Publications điều hành, nơi bạn có thể đưa ra nhận xét về cuốn sách, đặt câu hỏi kỹ thuật và nhận trợ giúp từ tác giả cũng như từ những người dùng khác. Để truy cập diễn đàn, hãy truy cập https. // sổ trực tiếp. quản lý. com/#. /book/python-workout/thảo luận. Bạn cũng có thể tìm hiểu thêm về các diễn đàn của Manning và các quy tắc ứng xử tại https. // sổ trực tiếp. quản lý. com/#. /thảo luận

Cam kết của Manning với độc giả của chúng tôi là cung cấp một địa điểm nơi có thể diễn ra cuộc đối thoại có ý nghĩa giữa từng độc giả và giữa độc giả với tác giả. Nó không phải là một cam kết đối với bất kỳ mức độ tham gia cụ thể nào của tác giả, những người đóng góp cho diễn đàn vẫn là tự nguyện (và không được trả tiền). Chúng tôi khuyên bạn nên thử hỏi tác giả một số câu hỏi hóc búa kẻo mất hứng thú. Diễn đàn và kho lưu trữ của các cuộc thảo luận trước đó sẽ có thể truy cập được từ trang web của nhà xuất bản miễn là cuốn sách được in

Giới thiệu về tác giả

Reuven M. Lerner là một huấn luyện viên Python toàn thời gian. Trong một năm nhất định, anh ấy dạy các khóa học tại các công ty ở Hoa Kỳ, Châu Âu, Israel, Ấn Độ và Trung Quốc, cũng như cho các cá nhân trên khắp thế giới, thông qua các khóa học trực tuyến. Anh ấy viết blog và tweet (@reuvenmlerner) thường xuyên về Python và là thành viên tham gia hội thảo trên podcast Business of Freelancing. Reuven sống ở Modi’in, Israel cùng vợ và ba con. Bạn có thể tìm hiểu thêm về Reuven tại https. // người cho vay. đồng. Il/

về ảnh bìa minh họa

Hình vẽ trên trang bìa của Python Workout có chú thích là Homme de la Terre de Feu, hay Người đàn ông đến từ Tierra del Fuego. Hình minh họa được lấy từ bộ sưu tập trang phục từ nhiều quốc gia khác nhau của Jacques Grasset de Saint-Sauveur (1757–1810), có tựa đề Costumes civils actuel de tous les peoples connus, xuất bản tại Pháp năm 1784. Mỗi hình minh họa được vẽ và tô màu tinh xảo bằng tay. Sự đa dạng phong phú trong bộ sưu tập của Grasset de Saint-Sauveur nhắc nhở chúng ta một cách sống động về sự khác biệt về mặt văn hóa của các thị trấn và khu vực trên thế giới chỉ 200 năm trước. Bị cô lập với nhau, mọi người nói các phương ngữ và ngôn ngữ khác nhau. Dù ở phố hay ở nông thôn, chỉ cần nhìn vào cách ăn mặc của họ là có thể dễ dàng nhận ra họ sống ở đâu, làm nghề gì, địa vị ra sao.

Cách chúng ta ăn mặc đã thay đổi kể từ đó và sự đa dạng theo vùng từng rất phong phú nay đã phai nhạt. Bây giờ thật khó để phân biệt cư dân của các châu lục khác nhau, chứ chưa nói đến các thị trấn, khu vực hoặc quốc gia khác nhau. Có lẽ chúng ta đã đánh đổi sự đa dạng văn hóa để lấy một cuộc sống cá nhân đa dạng hơn—chắc chắn là để có một cuộc sống công nghệ đa dạng hơn và phát triển nhanh hơn

Vào thời điểm khó có thể phân biệt cuốn sách máy tính này với cuốn sách máy tính khác, Manning tôn vinh tính sáng tạo và sáng kiến ​​của ngành kinh doanh máy tính bằng bìa sách dựa trên sự đa dạng phong phú của đời sống khu vực hai thế kỷ trước, do Grasset de Saint-

1 Kiểu số

Cho dù bạn đang tính toán tiền lương, lãi suất ngân hàng hay tần số di động, thật khó để tưởng tượng một chương trình không sử dụng các con số theo cách này hay cách khác. Python có ba loại số khác nhau. int, float và phức hợp. Đối với hầu hết chúng ta, chỉ cần biết về (và làm việc với) int (đối với các số nguyên) và float (đối với các số có thành phần phân số) là đủ

Các con số không chỉ là nền tảng cho lập trình mà còn cho chúng ta một lời giới thiệu tốt về cách thức hoạt động của một ngôn ngữ lập trình. Hiểu cách gán biến và đối số hàm hoạt động với số nguyên và số float sẽ giúp bạn suy luận về các loại phức tạp hơn, chẳng hạn như chuỗi, bộ dữ liệu và ký tự

Chương này bao gồm các bài tập làm việc với các số, cả đầu vào và đầu ra. Mặc dù làm việc với các số có thể khá cơ bản và dễ hiểu, nhưng việc chuyển đổi giữa chúng và tích hợp chúng với các loại dữ liệu khác đôi khi có thể mất thời gian để làm quen.

tài liệu tham khảo hữu ích

Bảng 1. 1 Những điều bạn cần biết

Bài tập 1 ■ Trò chơi đoán số

Bài tập đầu tiên này được thiết kế để làm nóng các ngón tay của bạn cho phần còn lại của cuốn sách. Nó cũng giới thiệu một số chủ đề sẽ lặp lại trong sự nghiệp Python của bạn. vòng lặp, đầu vào của người dùng, loại chuyển đổi và so sánh giá trị

Cụ thể hơn, tất cả các chương trình đều phải nhận đầu vào để làm điều gì đó thú vị và đầu vào đó thường đến từ người dùng. Biết cách yêu cầu người dùng nhập dữ liệu không chỉ hữu ích mà còn cho phép chúng tôi suy nghĩ về loại dữ liệu chúng tôi đang nhận, cách chuyển đổi dữ liệu thành định dạng mà chúng tôi có thể sử dụng và định dạng đó sẽ là gì

Như bạn có thể biết, Python chỉ cung cấp hai loại vòng lặp. cho và trong khi. Biết cách viết và sử dụng chúng sẽ giúp bạn rất nhiều trong suốt sự nghiệp Python của mình. Thực tế là gần như mọi loại dữ liệu đều biết cách hoạt động bên trong vòng lặp for làm cho các vòng lặp đó trở nên phổ biến và hữu ích. Nếu bạn đang làm việc với các bản ghi cơ sở dữ liệu, các phần tử trong một tệp XML hoặc kết quả từ việc tìm kiếm văn bản bằng cách sử dụng các biểu thức chính quy, thì bạn sẽ sử dụng khá nhiều vòng lặp for