Tổng hợp bài tập Python cơ bản 2021 – Phần 1 (Đề bài)

Nối tiếp các bài viết về Python, Got It tiếp tục tổng hợp tới bạn những bài tập Python cơ bản nhất giúp mọi lập trình viên có thể trau dồi kỹ năng của mình. Không chỉ là những bài toán khô khan, bạn có thể tìm thấy những đề bài đầy thú vị như cách tạo một trò chơi hay một giải pháp nào đó bạn cần trong cuộc sống hàng ngày!

Dưới đây là đề bài cùng gợi ý kiến thức bạn cần sử dụng. Lời giải chi tiết sẽ tiếp tục được cập nhập trong những phần tiếp theo. Hãy thử dành ra một chút thời gian để ôn luyện kiến thức cơ bản về Python và áp dụng nó vào thực tế nhé!

I. Bài tập Python mức độ 1

1. Character Input

  • Đề bài: Tạo một chương trình yêu cầu người dùng nhập tên và tuổi của họ. Gửi lại họ một tin nhắn cho biết năm họ sẽ tròn 100 tuổi.
  • Kiến thức sử dụng:
  • Lấy thông tin người dùng (user input)
  • Thao tác với chuỗi (string manipulation)

2. List Ends

  • Đề bài: Viết chương trình lấy một list các con số (Ví dụ: a = [2, 4, 6, 8, 10]) và tạo một list mới chỉ gồm các phần tử đầu tiên và cuối cùng của list đã cho. Lưu ý: Viết code này bên trong một hàm.
  • Kiến thức sử dụng:
  • List và các thuộc tính của list
  • Hàm

3. Birthday Dictionaries

  • Đề bài: Đây là một bài tập giúp chúng ta theo dõi ngày sinh của bạn mình và có thể tìm thấy thông tin đó dựa trên tên của họ. Hãy tạo một Dictionary (Bộ từ điển) gồm tên và ngày sinh trong file của bạn. Khi chương trình chạy, nó sẽ yêu cầu người dùng nhập tên và trả lại đúng ngày sinh của người đó cho họ. Tương tác có thể được hình dung như sau:

>>> Welcome to the birthday dictionary. We know the birthdays of:

Albert Einstein

Bill Gates

Steve Jobs

>>> Who's birthday do you want to look up?

Bill Gates

>>> Bill Gates's birthday is 28/10/1955

  • Kiến thức sử dụng:
  • Kiểu dữ liệu Dictionary trong Python
  • Định dạng chuỗi bằng phương thức format (string formatting)

4. Element Search

  • Đề bài: Viết một hàm nhận một list các số có sắp xếp thứ tự từ nhỏ đến lớn và một số khác. Hàm đó sẽ xác định xem số đã cho có nằm trong list hay không và trả về, in ra một Boolean thích hợp. Yêu cầu sử dụng Binary Search (tìm kiếm nhị phân).
  • Kiến thức sử dụng:
  • Booleans (loại dữ liệu logic chỉ có giá trị true/đúng hoặc false/sai)
  • Tìm kiếm nhị phân (Binary search)

II. Bài tập Python mức độ 2

1. Divisors

  • Đề bài: Tạo một chương trình hỏi người dùng một con số và in ra tất cả ước số của con số đó.
  • Kiến thức sử dụng:
  • Lấy thông tin người dùng (user input)
  • Lists
  • Lệnh “If” trong Python (conditionals)

2. String Lists

  • Đề bài: Yêu cầu người dùng cung cấp một chuỗi và cho biết đó có phải một palindrome không (palindrome là một chuỗi có thể được viết xuôi hay viết ngược vẫn chỉ cho ra chính nó).
  • Kiến thức sử dụng:
  • List index
  • Sử dụng chuỗi như lists

3. List Less Than Ten

  • Đề bài: Lấy một list, ví dụ như sau:
a = [1, 1, 2, 3, 5, 9, 12, 23, 35, 56, 88]

Viết một chương trình in ra tất cả các phần tử có giá trị nhỏ hơn 5. Ngoài ra, bạn có thể làm thêm các yêu cầu sau:

  • Thay vì in từng phần tử một, hãy in ra một list mới có tất cả các phần tử nhỏ hơn 5 từ list a ban đầu.
  • Khi hỏi thêm người dùng một con số khác (số X), chương trình có thể trả lại một list mới có chứa các phần tử nhỏ hơn X từ list a ban đầu.
  • Kiến thức sử dụng:
  • Lists
  • Lệnh “If” trong Python (conditionals)

4. List Overlap Comprehensions

  • Đề bài: Lấy hai lists, ví dụ như sau:
a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
b = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]

Viết chương trình cho ra một list chỉ chứa những phần tử chung giữa các list đã cho (không được trùng nhau). Đảm bảo rằng chương trình có thể hoạt động trên hai lists có kích thước khác nhau. Bạn cần sử dụng ít nhất một List Comprehension (List Comprehension là cách viết code ngắn gọn để tạo một danh sách phức tạp).

  • Kiến thức sử dụng:
  • List Comprehensions
  • Random numbers

5. Fibonacci

Bài tập Python - Fibonacci
  • Đề bài: Viết chương trình hỏi người dùng cần tạo bao nhiêu số trong dãy Fibonacci và tạo chúng. Chuỗi Fibonacci là một dãy số trong đó số tiếp theo trong dãy là tổng của hai số trước đó. Ví dụ của một chuỗi Fibonacci như sau: 1, 1, 2, 3, 5, 8, 13,…
  • Kiến thức sử dụng:
  • Hàm đệ quy trong Python

6. List Remove Duplicates

  • Đề bài: Viết một hàm để nhận một list và trả lại một list mới loại bỏ mọi phần tử bị trùng nhau trong list ban đầu. Trong đó, viết hai loại hàm: Một sử dụng vòng lặp (Loop), một sử dụng Set trong Python.
  • Kiến thức sử dụng:
  • Sets (một tập các giá trị không có thứ tự, mỗi giá trị trong set là duy nhất, không thể lặp lại và bất biến)

III. Bài tập Python mức độ 3

1. Rock Paper Scissors

Bài tập Python - Đấm Lá Kéo
  • Đề bài: Tạo game Đấm – Lá – Kéo dành cho hai người chơi. Trong đó, chương trình sẽ yêu câu người dùng nhập lượt chơi, so sánh kết quả, gửi tin nhắn chúc mừng tới người thắng cuộc và hỏi họ có muốn bắt đầu chơi lại một game mới không.

Như thường lệ, luật chơi vẫn là:

  • Đấm thắng kéo
  • Kéo thắng giấy
  • Giấy thắng đá
  • Kiến thức sử dụng:
  • Vòng lặp “While”
  • Vòng lặp vô hạn
  • Lệnh “Break” trong Python

2. Check Primality Functions

  • Đề bài: Yêu cầu người dùng nhập một số và xác định xem đó có phải là số nguyên tố hay không. Bạn có thể sử dụng kết quả từ bài tập Divisors (phần I) để giúp mình làm tiếp bài này.
  • Kiến thức sử dụng:
  • Hàm
  • Hàm có thể tái sử dụng
  • Default arguments

3. Reverse Word Order 

  • Đề bài: Viết một chương trình (sử dụng các hàm) yêu cầu người dùng cung cấp một chuỗi dài chứa nhiều từ. In lại cho người dùng một chuỗi mới với thứ tự từ ngữ được đảo ngược lại với list ban đầu. Ví dụ, khi người dùng nhập chuỗi:
My name is Got It-ian

thì họ sẽ nhận lại được một kết quả như sau:

Got It-ian is name My
  • Kiến thức sử dụng:
  • Các thao tác với chuỗi

4. Cows and Bulls

  • Đề bài: Tạo trò chơi “Cows and Bulls” với cách thức hoạt động như sau:
  • Tạo ngẫu nhiên một con số có 4 chữ số. Yêu cầu người chơi đoán con số đó.
  • Khi người chơi đoán đúng một chữ số nào đó ở đúng vị trí, họ sẽ có một “Cow”. Với mỗi chữ số sai, họ sẽ có một “Bull”. 
  • Mỗi khi người dùng đưa ra phỏng đoán, hãy cho họ biết họ có bao nhiêu “Cows” và “Bulls”. Khi người dùng đoán đúng số, trò chơi kết thúc. Theo dõi số lần đoán mà người dùng thực hiện trong suốt trò chơi và họ biết khi kết thúc.

Giả sử, máy tính tạo ra một con số là 1038. Một tương tác sẽ diễn ra như sau:

 Welcome to the Cows and Bulls Game! 
  Enter a number: 
  >>> 1234
  2 cows, 0 bulls
  >>> 1256
  1 cow, 1 bull
  ...
  • Kiến thức sử dụng:
  • Hàm random trong Python
  • Main method trong Python

5. Password Generator

  • Đề bài: Viết trình tạo mật khẩu ngẫu nhiên bằng Python. Bạn có thể tuỳ ý sáng tạo nhưng một mật khẩu mạnh được gợi ý là có sự kết hợp của chữ thường, chữ hoa, số và ký hiệu. Chương trình cần tạo một mật khẩu mới mỗi khi người dùng yêu cầu reset password.
  • Kiến thức sử dụng:
  • Module random trong Python

Bạn có thể đưa ra giải pháp thành công cho bao nhiêu bài tập Python trên đây? Trước khi đến với lời giải chi tiết từ kỹ sư củ Got It trong bài tiếp theo, hãy chia sẻ tới chúng mình bất kỳ một lời giải hay nào đó cho bài toán mà bạn thích nhé! Happy Coding!

(Tham khảo: practicepython.org)


Nếu bạn quan tâm, hãy xem các vị trí đang tuyển dụng của Got It tại: bit.ly/gotit-hanoi và đọc thêm về quy trình tuyển dụng tại đây.

https://d1iv5z3ivlqga1.cloudfront.net/wp-content/uploads/2021/04/29235048/1_QAG9RXQyyMAY7i9OYo84FA.png
Got It Vietnam
October 23, 2020
Share this post to:
Tags:
6 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
trackback
10 tips tự học Python nhanh và hiệu quả nhất - Blog | Got It AI
7 months ago

[…] > Tổng hợp bài tập Python cơ bản (có lời giải) […]

trackback
5 bước tự học Python bài bản cho Beginner - Blog | Got It AI
6 months ago

[…] Bạn có thể bắt đầu với những dự án đơn giản nhất trong các bài tập thực hành về Python. Tìm hiểu về một số bài tập Python thú vị (kèm lời giải) tại đây. […]

trackback
Python cơ bản. 5 lý do để học lập trình Python - Blog | Got It AI
6 months ago

[…] Tổng hợp bài tập Python cơ bản 2020 – Phần 1 (Đề bài) […]

trackback
Mảng là gì? Cách sử dụng mảng trong Python - Blog | Got It AI
6 months ago

[…] Tổng hợp bài tập Python cơ bản […]

trackback
Ngôn ngữ Python và 15 sự thật bạn có thể chưa biết - Blog | Got It AI
6 months ago

[…] Tổng hợp bài tập Python cơ bản (có lời giải) […]

trackback
5 bài tập lập trình Python giúp bạn rèn luyện kỹ năng - Blog | Got It AI
3 months ago

[…] comment câu trả lời của bạn ở phần comment và làm thêm những bài tập Python có lời giải đã được Got It tuyển chọn […]

Các bài viết liên quan
Hướng dẫn cách sử dụng Visual Studio Code căn bản

Hướng dẫn cách sử dụng Visual Studio Code căn bản

Nhanh, gọn nhẹ, đa năng và hoạt động mạnh mẽ trên đa nền tảng là những ưu điểm nổi trội của trình soạn thảo VS Code. Cách sử dụng Visual Studio Code cơ bản sẽ được hướng dẫn cụ thể trong bài viết dưới đây. Mục lụcVisual Studio Code là gì và dành cho ai?Phiên […]
Visual Studio Code là gì? Lợi thế từ việc sử dụng Visual Studio Code

Visual Studio Code là gì? Lợi thế từ việc sử dụng Visual Studio Code

Visual Studio Code là gì mà khiến cộng đồng IT Việt yêu thích đến vậy? Trình soạn thảo code này sẽ giúp bạn xây dựng ứng dụng web và cloud như thế nào? Hãy cùng Got It tìm hiểu Visual Studio Code ngay hôm nay nhé! Mục lục1. Visual Studio Code là gì?2. Phân biệt […]
Hướng dẫn cách format code Visual Studio Code với Prettier

Hướng dẫn cách format code Visual Studio Code với Prettier

Việc định dạng mã sao cho thống nhất là một thử thách khó khăn đối với đa phần lập trình viên. Prettier chính là công cụ format code của Visual Studio Code giúp bạn duy trì sự nhất quán trong toàn bộ cơ sở mã của nhóm. Cùng tìm hiểu cách dùng Prettier để format […]
Cách sử dụng phím tắt sắp xếp code trong Visual Studio Code

Cách sử dụng phím tắt sắp xếp code trong Visual Studio Code

Chỉ với một vài thao tác đơn giản với phím tắt sắp xếp code trong Visual Studio Code, bạn đã có thể tạo ra một đoạn mã đẹp mắt, ngay ngắn và dễ đọc. Cùng tìm hiểu về cách sử dụng phím tắt này và khám phá thêm một vài phím tắt hữu ích khách […]
Gợi ý tài liệu tự học các ngôn ngữ lập trình web phổ biến miễn phí

Gợi ý tài liệu tự học các ngôn ngữ lập trình web phổ biến miễn phí

Thay vì vội vàng đăng ký các chương trình học mất tiền, bạn hãy tham khảo ngay những tài liệu tự học các ngôn ngữ lập trình web phổ biến miễn phí được Got It gợi ý dưới đây. Các ngôn ngữ được nhắc đến trong bài bao gồm HTML, CSS và JavaScript – chìa […]
5 bài tập lập trình Python giúp bạn rèn luyện kỹ năng

5 bài tập lập trình Python giúp bạn rèn luyện kỹ năng

Sau khi nhận được nhiều yêu cầu từ bạn đọc về chủ đề “bài tập lập trình Python”, Got It đã sưu tầm những bài tập Python thực sự giúp các bạn đang học ngôn ngữ này, hoặc những người đang làm việc liên quan đến nó, hiểu được cách mà Python hoạt động. Bài […]