Tính và xuất kết quả máy tính đơn giản với hai số
Bài tập Python tự luyện
Danh sách bài học
Tính và xuất kết quả máy tính đơn giản với hai số
Bài toán cần xử lý
Viết chương trình nhập vào từ bàn phím một dãy số nguyên với độ dài bất kỳ, dãy số nằm trên 1 dòng, các số cách nhau bởi khoảng trắng. Tính tổng của dãy số và hiển thị ra màn hình (Có xử lý ngoại lệ đầu vào).
Kiến thức cần có
- Hàm input() và hàm print()
- Cấu trúc rẽ nhánh trong Python
- Biến và kiểu dữ liệu
Định dạng đầu vào
Gồm một dòng duy nhất chưa ba giá trị {số thứ nhất} {phép tính}
{số thứ hai} trên 1 dòng, cách nhau bởi khoảng trắng.
Với:
- {số thứ nhất} và {số thứ hai} là hai số thực
- {phép tính} là một trong các dấu ['+', '-', 'x', ':']
Định dạng đầu ra
Gồm một dòng duy nhất hiển thị như sau:
Nếu là phép tính chia và {số thứ hai} bằng 0: So chia phai khac 0!
Nếu biểu thức hợp lệ: {so thu nhat} {phep tinh} {so thu hai} = {ket qua}
Với:
- {so thu nhat}, {phep tinh}, {so thu hai} là ba giá trị nhập vào từ bàn phím
- {ket qua} là kết quả của biểu thức
Ví dụ:
- Input 1:
4 + 5
- Output 1:
4.0 + 5.0 = 9.0
- Input 2:
5.6784 - 3.5856
- Output 2:
5.6784 - 3.5856 = 2.0928
- Input 3:
0.345 x -3.57
- Output 3:
0.345 x -3.57 = -1.23165
- Input 4:
5.396 : 0
- Output 4:
So bi chia phai khac 0!
- Input 5:
-4.387 : 2.56
- Output 5:
-4.387 : 2.56 = -1.7136718749999997
Gợi ý
- Dùng hàm input() và hàm split() để nhận ba giá trị {số thứ nhất}, {phép tính} và {số thứ hai} từ bàn phím.
- Ép kiểu dữ liệu của {số thứ nhất} và {số thứ hai} sang số thực để xử lý vì các giá trị nhận được từ hàm input() mặc định sẽ ở kiểu chuỗi.
- Dùng cấu trúc rẽ nhánh if … else để so sánh {phép tính} với các dấu '+', '-', 'x', ':' và lưu lại kết quả phù hợp
- Lưu ý: Ở trường hợp {phép tính} là phép chia, thì kiểm tra điều kiện {số thứ hai}. Nếu bằng 0 thì xuất thông báo lỗi.
- Dùng hàm print() để xuất kết quả theo yêu cầu.
Code mẫu
#Nhap bieu thuc tu ban phim
soThu1, phepTinh, soThu2 = input().split()
#Ep kieu du lieu sang so thuc
soThu1 = float(soThu1)
soThu2 = float(soThu2)
#Bien luu ket qua cua bieu thuc
ketQua = None
#Dung cau lenh re nhanh de phan loai phep tinh
#Luu ket qua cua loai phep tinh phu hop
if phepTinh == '+':
ketQua = soThu1 + soThu2
elif phepTinh == '-':
ketQua = soThu1 - soThu2
elif phepTinh == 'x':
ketQua = soThu1 * soThu2
elif phepTinh == ':':
#Xu ly truong hop o phep chia va so bi chia bang 0
if soThu2 == 0:
print("So chia phai khac 0!")
else:
ketQua = soThu1 / soThu2
#Neu bien ketQua khac None thi chung to bieu thuc hop le
if ketQua != None:
#In ra man hinh bieu thuc va ket qua
print("{} {} {} = {}".format(soThu1, phepTinh, soThu2, ketQua))
Kết luận
Trong bài này, Kteam đã hướng dẫn bạn cách viết chương trình máy tính đơn giản với các phép cộng, trừ, nhân, chia hai số được nhập từ bàn phím. Tính và xuất kết quả ra màn hình.
Ở bài tiếp theo, chúng ta sẽ cũng nhau học cách viết chương trình GIẢI PHƯƠNG TRÌNH BẬC HAI VỚI CÁC HỆ SỐ ĐƯỢC NHẬP TỪ BÀN PHÍM VÀ HIỂN THỊ KẾT QUẢ RA MÀN HÌNH.
Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của bạn để phát triển bài viết tốt hơn. Đừng quên " Luyện tập - Thử Thách - Không ngại khó!"
Tải xuống
Tài liệu
Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Tính và xuất kết quả máy tính đơn giản với hai số dưới dạng file PDF trong link bên dưới.
Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com
Đừng quên like và share để ủng hộ Kteam và tác giả nhé!

Thảo luận
Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.
Nội dung bài viết
Khóa học
Serial dành cho những bạn cần luyện tập phương pháp, tu duy lập trình. Làm quen với các bài toán trong lập trình, ngẫu nhiên từ cơ bản đến nâng cao. Nội dung Serial này được phân tách chi tiết nhất có thể, nhằm giúp các bạn dễ hiểu và thực hành được ngay.
Bạn nên tự làm lại từng bài tập trên video để có kết quả tốt nhất. Cùng Kteam "Luyện tập - Thử thách - không ngại khó"
try:
num_1,cal,num_2 = input("Nhập vào dãy số bất kỳ: ").split()
num_1 = int(num_1)
num_2 = int(num_2)
if cal == '+':
result = num_1 + num_2
print("{} {} {} = {}".format(num_1,cal,num_2,result))
elif cal == '-':
result = num_1 - num_2
print("{} {} {} = {}".format(num_1,cal,num_2,result))
elif cal == 'x':
result = num_1 * num_2
print("{} {} {} = {}".format(num_1,cal,num_2,result))
elif cal == ':':
try:
result = num_1 / num_2
print("{} {} {} = {}".format(num_1,cal,num_2,result))
except ZeroDivisionError:
print("Số bị chia phải khác 0!")
else:
print("Phép tính nhập vào không tồn tại!")
except:
print("Định dạng nhập vào không hợp lệ!")
print('Nhập số và phép tính cách nhau bởi khoảng trắng:');
a, dau, b = input().split();
a, b = map(float,(a,b));
if dau=='+':
c = a + b;
print('Kết quả phép tính là: {} {} {} = {}'.format(a,dau,b,c));
elif dau=='-':
c = a - b;
print('Kết quả phép tính là: {} {} {} = {}'.format(a,dau,b,c));
elif dau=='x':
c = a * b;
print('Kết quả phép tính là: {} {} {} = {}'.format(a,dau,b,c));
elif dau==':':
if b==0:
print('Số bị chia phải khác 0');
else:
c = a / b;
print('Kết quả phép tính là: {} {} {} = {}'.format(a,dau,b,c));
a=int(input())
b=int(input())
c=a+b
if a<=0 or b<=0 or c<=0:
print('các số phải lớn hơn không')
del(a,b,c)
print('nếu số {} cộng với số {} thì kết quả là {}'.format(a,b,c))