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

Chương trình máy tính cơ bản trong Python

Xây dựng máy tính dòng lệnh đơn giản: người dùng chọn phép toán từ menu, nhập 2 số, chương trình in kết quả.

Các phép toán hỗ trợ

  1. Cộng (+)
  2. Trừ (-)
  3. Nhân (*)
  4. Chia (/)
  5. Chia nguyên (//)
  6. Chia lấy dư (%)

Mã nguồn

a, b = 15, 2

print("1 - Cộng\n2 - Trừ\n3 - Nhân\n4 - Chia\n5 - Chia nguyên\n6 - Chia lấy dư")
option = int(input("Chọn phép toán (1-6): "))

if option == 1:
    print(f"Kết quả: {a + b}")
elif option == 2:
    print(f"Kết quả: {a - b}")
elif option == 3:
    print(f"Kết quả: {a * b}")
elif option == 4:
    print(f"Kết quả: {a / b}")
elif option == 5:
    print(f"Kết quả: {a // b}")
elif option == 6:
    print(f"Kết quả: {a % b}")
else:
    print("Lựa chọn không hợp lệ!")

Chạy thử

1 - Cộng
2 - Trừ
3 - Nhân
4 - Chia
5 - Chia nguyên
6 - Chia lấy dư
Chọn phép toán (1-6): 3
Kết quả: 30
Chọn phép toán (1-6): 6
Kết quả: 1

Mở rộng: Máy tính lặp lại (REPL)

def calculator():
    while True:
        try:
            expr = input("\nNhập phép tính (vd: 2 + 3) hoặc 'q' để thoát: ")
            if expr.lower() == 'q':
                break
            # Cách đơn giản: eval (CẢNH BÁO: không dùng cho input không tin cậy)
            # result = eval(expr)
            # Cách an toàn: parse thủ công hoặc dùng operator
            parts = expr.split()
            if len(parts) != 3:
                print("Định dạng: số phép_toán số")
                continue
            x, op, y = float(parts[0]), parts[1], float(parts[2])
            ops = {'+': lambda a,b: a+b, '-': lambda a,b: a-b,
                   '*': lambda a,b: a*b, '/': lambda a,b: a/b,
                   '//': lambda a,b: a//b, '%': lambda a,b: a%b}
            if op in ops:
                print(f"Kết quả: {ops[op](x, y)}")
            else:
                print("Phép toán không hỗ trợ")
        except Exception as e:
            print(f"Lỗi: {e}")

calculator()

Kết luận

Máy tính cơ bản luyện tập: input, int/float conversion, if-elif, dictionary dispatch, exception handling. Tránh eval() trong production.