Python bài 10: Bài tập về lệnh rẽ nhánh và vòng lặp

Vel eget luctus a sem pede sit metus nulla maecenas. Etiam eleifend curabitur lorem. Viverra faucibus sem ultricies vitae etiam quam id feugiat in tellus vici ut.
Hướng Dẫn Viết Chương Trình "Hello World" Đầu Tiên Với Python

1. Bài tập về lệnh rẽ nhánh

Dưới đây là 5 bài tập thực hành về lệnh rẽ nhánh (if...else, if...elif...else) trong Python, kèm theo gợi ý giải:

Bài 1: Kiểm tra số âm, dương hay bằng 0

Viết chương trình yêu cầu người dùng nhập một số nguyên n, sau đó kiểm tra và in ra:

  • "Số dương" nếu n > 0
  • "Số âm" nếu n < 0
  • "Bằng 0" nếu n == 0

Ví dụ:

Nhập số: 5
Số dương
Nhập số: -3
Số âm

Gợi ý giải:

n = int(input("Nhập số: "))
if n &gt; 0:
print("Số dương")
elif n &lt; 0:
print("Số âm")
else:
print("Bằng 0")

Bài 2: Kiểm tra số chẵn hay lẻ

Viết chương trình yêu cầu người dùng nhập một số nguyên n, sau đó kiểm tra xem số đó là chẵn hay lẻ.

Ví dụ:

Nhập số: 8
Số chẵn
Nhập số: 7
Số lẻ

Gợi ý giải:

n = int(input("Nhập số: "))
if n % 2 == 0:
print("Số chẵn")
else:
print("Số lẻ")

Bài 3: Tìm số lớn nhất trong ba số

Viết chương trình yêu cầu người dùng nhập ba số nguyên, sau đó in ra số lớn nhất trong ba số đó.

Ví dụ:

Nhập số thứ nhất: 10
Nhập số thứ hai: 25
Nhập số thứ ba: 7
Số lớn nhất là: 25

Gợi ý giải:

a = int(input("Nhập số thứ nhất: "))
b = int(input("Nhập số thứ hai: "))
c = int(input("Nhập số thứ ba: "))

if a &gt;= b and a &gt;= c:
print("Số lớn nhất là:", a)
elif b &gt;= a and b &gt;= c:
print("Số lớn nhất là:", b)
else:
print("Số lớn nhất là:", c)

Bài 4: Tính điểm trung bình và xếp loại học lực

Viết chương trình yêu cầu người dùng nhập điểm trung bình (0 – 10) của một học sinh và xếp loại học lực như sau:

  • "Giỏi" nếu điểm ≥ 8
  • "Khá" nếu 6.5 ≤ điểm < 8
  • "Trung bình" nếu 5 ≤ điểm < 6.5
  • "Yếu" nếu điểm < 5

Ví dụ:

Nhập điểm trung bình: 7.5
Xếp loại: Khá

Gợi ý giải:

diem = float(input("Nhập điểm trung bình: "))

if diem &gt;= 8:
print("Xếp loại: Giỏi")
elif diem &gt;= 6.5:
print("Xếp loại: Khá")
elif diem &gt;= 5:
print("Xếp loại: Trung bình")
else:
print("Xếp loại: Yếu")

Bài 5: Kiểm tra năm nhuận

Viết chương trình yêu cầu người dùng nhập một năm, sau đó kiểm tra xem năm đó có phải là năm nhuận hay không.
Quy tắc:

  • Năm chia hết cho 400Năm nhuận
  • Năm chia hết cho 4 nhưng không chia hết cho 100Năm nhuận
  • Các trường hợp còn lại không phải là năm nhuận

Ví dụ:

Nhập năm: 2024
2024 là năm nhuận.
Nhập năm: 2023
2023 không phải là năm nhuận.

Gợi ý giải:

year = int(input("Nhập năm: "))

if (year % 400 == 0) or (year % 4 == 0 and year % 100 != 0):
print(year, "là năm nhuận.")
else:
print(year, "không phải là năm nhuận.")
<h2>

2. Bài tập về vòng lặp

Dưới đây là 5 bài tập thực hành về vòng lặp trong Python kèm theo gợi ý giải:

Bài 1: Tính tổng các số từ 1 đến n

Viết chương trình yêu cầu người dùng nhập một số nguyên dương n, sau đó tính tổng các số từ 1 đến n bằng vòng lặp for.

Ví dụ:

Nhập n: 5
Tổng = 15  # (1 + 2 + 3 + 4 + 5)

Gợi ý:

n = int(input("Nhập n: "))
tong = 0
for i in range(1, n + 1):
tong += i
print("Tổng =", tong)

Bài 2: Kiểm tra số nguyên tố

Viết chương trình yêu cầu người dùng nhập một số nguyên n, sau đó kiểm tra xem n có phải là số nguyên tố hay không.

Gợi ý:

  • Số nguyên tố là số lớn hơn 1 và chỉ chia hết cho 1 và chính nó.
  • Dùng vòng lặp for để kiểm tra số chia hết trong khoảng từ 2 đến n-1.

Ví dụ:

Nhập n: 7
7 là số nguyên tố.

Nhập n: 10
10 không phải số nguyên tố.
[/python]

Gợi ý giải:

n = int(input("Nhập n: "))
if n &lt; 2:
print(n, "không phải số nguyên tố")
else:
is_prime = True
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
is_prime = False
break
if is_prime:
print(n, "là số nguyên tố")
else:
print(n, "không phải số nguyên tố")

Bài 3: In bảng cửu chương

Viết chương trình in ra bảng cửu chương từ 1 đến 9.

Gợi ý:

  • Dùng vòng lặp lồng nhau (for trong for).

Kết quả mong muốn:

1 x 1 = 1
1 x 2 = 2
<h1>…</h1>
9 x 9 = 81

Gợi ý giải:

for i in range(1, 10):
for j in range(1, 10):
print(f"{i} x {j} = {i * j}")
print()  # Xuống dòng sau mỗi bảng

Bài 4: Đảo ngược một số nguyên

Viết chương trình yêu cầu người dùng nhập một số nguyên n, sau đó in ra số đó theo thứ tự ngược lại.

Ví dụ:

Nhập số: 12345
Số đảo ngược: 54321

Gợi ý giải:

n = int(input("Nhập số: "))
reversed_n = 0

while n &gt; 0:
reversed_n = reversed_n * 10 + n % 10
n = n // 10

print("Số đảo ngược:", reversed_n)

Bài 5: Vẽ tam giác số

Viết chương trình yêu cầu người dùng nhập n, sau đó in ra tam giác số có n dòng.

Ví dụ:

Nhập n: 5
1
12
123
1234
12345

Gợi ý giải:

n = int(input("Nhập n: "))
for i in range(1, n + 1):
for j in range(1, i + 1):
print(j, end="")
print()  # Xuống dòng

Bài tập kết hợp vòng lặp và lệnh rẽ nhánh

Dưới đây là 5 bài tập kết hợp vòng lặplệnh rẽ nhánh trong Python, kèm theo gợi ý giải:

Bài 1: Đếm số chẵn, lẻ trong một danh sách

Viết chương trình yêu cầu người dùng nhập vào một danh sách gồm n số nguyên. Chương trình sẽ đếm và in ra số lượng số chẵn và số lẻ trong danh sách.

Ví dụ:

Nhập số lượng phần tử: 5
Nhập số thứ 1: 2
Nhập số thứ 2: 7
Nhập số thứ 3: 8
Nhập số thứ 4: 3
Nhập số thứ 5: 6
Số chẵn: 3
Số lẻ: 2

Gợi ý giải:

n = int(input("Nhập số lượng phần tử: "))
even_count = 0
odd_count = 0

for i in range(n):
num = int(input(f"Nhập số thứ {i+1}: "))
if num % 2 == 0:
even_count += 1
else:
odd_count += 1

print("Số chẵn:", even_count)
print("Số lẻ:", odd_count)

Bài 2: Kiểm tra số nguyên tố trong khoảng từ 1 đến n

Viết chương trình yêu cầu người dùng nhập một số nguyên n, sau đó in ra tất cả các số nguyên tố từ 1 đến n.

Ví dụ:

Nhập n: 10
Các số nguyên tố từ 1 đến 10 là: 2, 3, 5, 7

Gợi ý giải:

n = int(input("Nhập n: "))

print("Các số nguyên tố từ 1 đến", n, "là:", end=" ")

for num in range(2, n + 1):
is_prime = True
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
is_prime = False
break
if is_prime:
print(num, end=", ")

Bài 3: Tính tổng các số chia hết cho 3 hoặc 5 trong khoảng từ 1 đến n

Viết chương trình yêu cầu người dùng nhập một số n, sau đó tính tổng các số từ 1 đến n mà chia hết cho 3 hoặc 5.

Ví dụ:

Nhập n: 10
Tổng các số chia hết cho 3 hoặc 5: 33

(Vì: 3 + 5 + 6 + 9 + 10 = 33)

Gợi ý giải:

n = int(input("Nhập n: "))
tong = 0

for i in range(1, n + 1):
if i % 3 == 0 or i % 5 == 0:
tong += i

print("Tổng các số chia hết cho 3 hoặc 5:", tong)

Bài 4: Vẽ tam giác sao

Viết chương trình yêu cầu người dùng nhập n, sau đó in ra một tam giác sao có n dòng.

Ví dụ:

Nhập n: 5
*
**

Gợi ý giải:

n = int(input("Nhập n: "))

for i in range(1, n + 1):
print("*" * i)

Bài 5: Đoán số bí mật

Viết chương trình chọn một số ngẫu nhiên trong khoảng từ 1 đến 100. Người dùng sẽ đoán số này, và chương trình sẽ cho biết:

  • "Số bạn đoán nhỏ hơn số bí mật" nếu số đoán nhỏ hơn số bí mật.
  • "Số bạn đoán lớn hơn số bí mật" nếu số đoán lớn hơn số bí mật.
  • "Chúc mừng! Bạn đã đoán đúng." nếu đoán đúng.

Chương trình chạy cho đến khi người dùng đoán đúng.

Ví dụ:

Nhập số bạn đoán: 50
Số bạn đoán nhỏ hơn số bí mật.
Nhập số bạn đoán: 75
Số bạn đoán lớn hơn số bí mật.
Nhập số bạn đoán: 62
Chúc mừng! Bạn đã đoán đúng.

Gợi ý giải:

import random

secret_number = random.randint(1, 100)
guess = None

while guess != secret_number:
guess = int(input("Nhập số bạn đoán: "))
if guess < secret_number:
        print("Số bạn đoán nhỏ hơn số bí mật.")
    elif guess > secret_number:
print("Số bạn đoán lớn hơn số bí mật.")
else:
print("Chúc mừng! Bạn đã đoán đúng.")

Total
0
Shares
Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Previous Post
Hướng Dẫn Viết Chương Trình "Hello World" Đầu Tiên Với Python

Python bài 11: Kiểu dữ liệu tập hợp – Collection trong Python

Next Post
Hướng Dẫn Viết Chương Trình "Hello World" Đầu Tiên Với Python

Python bài 9: Vòng lặp trong Python

Related Posts