2010-04-17 21 views

Trả lời

11

Một tốt tập hợp các vấn đề có thể được tìm thấy tại Project Euler (mặc dù không dành riêng cho Python). Bạn nhận được giải pháp chỉ sau khi bạn đã thực sự giải quyết vấn đề. Nhưng ngay cả sau đó, bạn thường có thể học được rất nhiều từ các giải pháp khác - xem nó có thể được thực hiện bằng các ngôn ngữ khác như thế nào, và (quan trọng hơn) làm thế nào nó có thể được thực hiện thậm chí thanh lịch hơn.

+1

+1 đây là cách tôi học Python –

+7

Dự án Euler là nhiều hơn về toán học hơn là lập trình/mã hóa –

+1

Có, nhưng hầu hết các vấn đề toán học đều có giải pháp thuật toán, vì vậy bạn cần một máy tính để giải quyết nó trong thời gian hợp lý. Và lập trình là về thuật toán. Ít nhất là một phần. –

2

Hãy thử Google Code Jam. Họ có các giải pháp từ những người tham gia cho các cuộc thi trước đây, một số trong đó là bằng Python. Hãy xem xét rằng trong bất kỳ cuộc thi lập trình nào, mục đích không phải là học Python - đó là hoàn thành công việc càng nhanh càng tốt. Vì vậy, bạn có thể không học được cách lập trình sạch sẽ nhất, nhưng bạn sẽ xem cách người thông minh sử dụng ngôn ngữ để giải quyết các vấn đề phức tạp một cách hiệu quả.

8

Python Challenge là nơi tuyệt vời để người mới bắt đầu học Python một cách thú vị.

EDIT - Để trả lời các ý kiến ​​dưới đây, vâng, có những giải pháp (và gợi ý quá) thường bằng nhiều ngôn ngữ có nghĩa là bạn thực sự có thể sử dụng bất cứ ngôn ngữ mà bạn thích (mặc dù ủng hộ chính là rõ ràng trong Python)

+0

có các giải pháp không? –

+2

Tôi không biết, rất nhiều những thách thức có xu hướng được phỏng đoán/săn bắn như trái ngược với suy nghĩ ra một giải pháp cho một vấn đề và mã hóa nó. – Ponkadoodle

+0

cảm ơn rất tuyệt! –

2

Tất cả phụ thuộc vào những gì bạn hiểu theo "vấn đề", "mã hóa" và "thực hành". Ví dụ: phỏng đoán đầu tiên của tôi là bạn có thể quan tâm đến việc tìm kiếm bất kỳ khóa học đại học nào về thuật toán bằng cách sử dụng Python để bạn có thể google out. Here 's một liên kết tùy ý.

Nó cũng đáng xem classic textbooks, chúng có rất nhiều ví dụ.

Cuối cùng, hãy thử nhìn vào hướng dẫn từ gói chuyên ngành nhất định, chẳng hạn như Scipy, Turbogears, PyGame vv

Nếu đó là không đủ, bạn có thể chỉ cần đi đọc mã nguồn của một số phần mềm mã nguồn mở hiện có. Điều đó cũng có thể hữu ích.

+0

Vâng, nó không phải là cho một lớp học tuyệt vời lol. Tôi là một kỹ sư vì vậy nó giống như cố gắng để tìm hiểu ngôn ngữ thực tế vượt ra ngoài những thứ tôi làm (tôi đã cài đặt scipy và có thể sử dụng scipy và matlab). – user319045

+0

Trong trường hợp này, bạn cũng nên xem Sage (http: // sagemath.org) –

+0

Cảm ơn các liên kết sagemath - làm thế nào để mô phỏng các vectơ của MATLAB và xử lý tín hiệu? – user319045

3

CodingBat (trước đây là JavaBat) hiện có Python nhờ Google. Một số vấn đề có gợi ý và giải pháp. Câu trả lời của bạn có thể được kiểm tra tự động cho đúng đắn.

+0

cảm ơn rất tốt, cũng rất hay khi có JAVA – user319045

2

Hãy thử Python Challenge. Có câu hỏi rất hay về giải pháp. Tuy nhiên,

Các vấn đề liên quan