Skip to content

quangvinh86/Python-Exercises

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bài tập Python - Python exercises

Some Python exercises and a translation of Vietnamese

Lúc bắt đầu tự học Python, theo thói quen khi học các ngôn ngữ lập trình là làm nhiều, thật nhiều. Lang thang trên mạng, "nhặt" được bí kíp "võ công" của mấy bạn Trung Quốc. Lúc mình nhặt được chỉ có tên bài tập, hiện tại đã thấy các bạn bên TQ đưa ra solution và lời giải cho từng bài. Mặc dù vây nhưng ==mình thích thì mình cứ làm thôi.==

Theo các bạn Trung Quốc thì bí cấp được chia làm 4 cấp độ theo từng dạng:

  1. Level 1 Beginner: Dành cho những người mới học Python hoặc mới bắt đầu học một ngôn ngữ lập trình. Hầu hết cách giải quyết bài toán đều rất đơn giản. Có thể tìm thấy giải pháp để giải quyết trong python docs.

  2. Level 2 Intermediate: Các bài toán dành cho người đã học xong Python cơ bản hoặc chuyển từ ngôn ngữ lập trình khác sang Python. Cách giải quyết các bài toán level 2 cần đầu tư một chút "trí tuệ". Các giải pháp không chỉ nằm trong python docs.

  3. Level 3 Advanced: Sử dụng ngôn ngữ lập trình Python, một số thư viện, cấu trúc dữ liệu và giải thuật để giải quyết một số bài toán phức tạp.

Nhưng khi làm bài thì mình thấy các bài tập sắp xếp lộn xộn, bài level 1 cho vào level2,3 và ngược lại. Chắc kiểu "tung hỏa mù", luyện không cẩn thẩn lại thành "tẩu hỏa nhập ma".

Vì vậy mình chỉ đánh dấu 1_, 2_, 3_ cho các bài mà không chia thành các level nữa.

Mình đã code hầu hết các bài trong danh sách bài của các bạn TQ nhưng nó không đúng chuẩn của một Pythonista và lại còn code trên Python2 nên mình sẽ làm lại dần dần chuyển sang Python3 và theo đúng chuẩn PEP8 (https://www.python.org/dev/peps/pep-0008/).

Mọi thứ sẽ cố gắng clear bằng tiếng Việt, một số thứ không giải thích được bằng tiếng Việt sẽ dùng tiếng Anh.

Một bài toán sẽ được đưa ra như sau:

  1. Đầu bài
    • Đầu bài
    • Mô tả giải pháp
    • Rút ra những gì sau bài tập

Để tôn trọng các tác giả TQ, mình giữ nguyên phần đầu bài bằng tiếng Anh, dịch tiếng Việt ở bên dưới.

  1. Code

Phần code mình sẽ làm để hết vào một function, cái nào ngắn quá thì dùng luôn trong hàm main Function này sẽ được gọi từ hàm main(). Giống như ví dụ dưới đây:

def squared(input_data):
    '''Tính bình phương của số đầu vào'''
    result = None
    result = input_data ** 2
    return result


def main():
    print(squared(5))


if __name__ == "__main__":
    main()

Bạn nào sử dụng những gì của mình thì nhớ đưa tên mình vào nhé :)

Name: Quang Vinh

Nickname: Tieubavuong

email: quangvinh19862003@gmail.com

Cảm ơn!

=========

English version:

At the time I started learning Python by myself, the habit of learning programming languages was to do a lot of things. By google, I "picked up" the secret "martial arts" of Chinese friends with subject only. Now, every exercises in "martial arts" were solved by Python2. But...I like to do it (like a bos) :))

Level Description

Level 1 Beginner means someone who has just gone through an introductory Python course. He can solve some problems with 1 or 2 Python classes or functions. Normally, the answers could directly be found in the textbooks.

Level 2 Intermediate means someone who has just learned Python, but already has a relatively strong programming background from before. He should be able to solve problems which may involve 3 or 3 Python classes or functions. The answers cannot be directly be found in the textbooks.

Level 3 Advanced. He should use Python to solve more complex problem using more rich libraries functions and data structures and algorithms. He is supposed to solve the problem using several Python standard packages and advanced techniques.

About

Some Python exercises and a translation of Vietnamese

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages