Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Tìm số lớn nhất trong 3 số bằng Python

Bài toán cơ bản: cho 3 số a, b, c, tìm giá trị lớn nhất (maximum).

Cách 1: If-elif-else (Thuật toán thủ công)

a, b, c = 2, 34, 4

if a > b and a > c:
    print(f"Max là: {a}")
elif b > a and b > c:
    print(f"Max là: {b}")
elif c > a and c > b:
    print(f"Max là: {c}")
else:
    print(f"Max là: {a}")  # trường hợp bằng nhau

Kết quả

Max là: 34

Cách 2: Dùng hàm built-in max() (Khuyên dùng)

a, b, c = 25, 3, 12
print(f"Max là: {max(a, b, c)}")  # 25

# Hoặc với list
nums = [5, 5, 5]
print(f"Max là: {max(nums)}")  # 5

Cách 3: Ternary operator (1 dòng)

max_val = a if a > b and a > c else (b if b > c else c)
print(max_val)

So sánh

CáchƯu điểmNhược điểm
if-elif-elseHiểu logic, không dùng built-inDài, lặp code, dễ sai
max()Ngắn, đọc dễ, tối ưu C, hỗ trợ iterableẨn logic so sánh
TernaryCompactKhó đọc, lồng nhọn

Mở rộng: Tìm max của N số

numbers = [10, 45, 23, 78, 5, 92, 11]
print(max(numbers))  # 92

# Tìm index của max
max_index = numbers.index(max(numbers))
print(f"Max {numbers[max_index]} tại index {max_index}")

Kết luận

Luôn dùng max() cho code production. Cách if-else chỉ để luyện tập tư duy thuật toán. max() hoạt động với bất kỳ iterable và đối tượng có so sánh (comparable).