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

5.0 (3 đánh giá)
Tạo bởi Kteam Cập nhật lần cuối 23:05 11-11-2021 26.733 lượt xem 25 bình luận
Tác giả/Dịch giả: TrongPhuCBL49 Kteam
Học nhanh

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 likeshare để ủng hộ Kteam và tác giả nhé!

Project

Nếu việc thực hành theo hướng dẫn không diễn ra suôn sẻ như mong muốn. Bạn cũng có thể tải xuống PROJECT THAM KHẢO ở link bên dưới!


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

Tác giả/Dịch giả

Có niềm đam mê với thuật toán và tư duy logic. Là người cầu toàn, thích lập kế hoạch và tối ưu mọi vấn đề trong cuộc sống. Mong muốn luôn sống vui vẻ yêu đời =))) không bon chen.

Sở thích cá nhân: Đàn ca nhảy múa và đi du lịch.


Khóa học

Bài tập Python tự luyện

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ểuthự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ó"

Đánh giá

tuoitre đã đánh giá 20:56 13-09-2022

quá hay

NghiKK đã đánh giá 09:25 03-10-2021

TankAnk đã đánh giá 10:09 09-08-2021

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
kakavan đã bình luận 08:33 29-05-2024

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ệ!")

CaptianN đã bình luận 21:15 17-11-2023

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));

Khánh Trịnh đã bình luận 16:35 12-07-2023

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))

TayMonKhanh đã bình luận 17:14 28-05-2023
a,b,c=input('Nhập vào biểu thức cần tính').split()

a,c=map(float,(a,c))

if b=="-":

    print('{}{}{}='.format(a,b,c)+ str(a-c))

elif b=="+":

    print('{}{}{}='.format(a,b,c)+str(a+c))

elif b=="x":

    print('{}{}{}='.format(a,b,c)+str(a*c))

elif b==":":

    if c==0:

        print('Nhập vào số khác không')

    else:

        print('{}{}{}='.format(a,b,c)+str(a/c))

 

bachhoclaptrinhdayquyettam :)) đã bình luận 22:25 15-02-2023
a = input(" Nhap phep tinh: ").split()
one, two = int(a[0]), int(a[2])

def answer(pheptinh, answer):
	return "Ket qua phep tinh {} la {}".format(pheptinh,answer)

def plus(one, two):
	return answer("{} + {}".format(one,two), one + two)

def minus(one, two):
	return answer("{} - {}".format(one,two), one - two)

def nhan(one, two):
	return answer("{} * {}".format(one,two), one * two)

def divide(one, two):
	if two == 0:
		return " ngu vcl"
	else:
		return answer("{} / {}".format(one,two), one / two)
if a[1] == "+":
	print(plus(one, two))
elif a[1] == "-":
	print(minus(one, two))
elif a[1] == "x":
	print(nhan(one, two))
elif a[1] == ":":
	print(divide(one, two))
else:
	print("khong hieu")

 

Không có video.