Các phép toán trong Python

Các phép toán trong Python

Phan Nhật Chánh

Chánh12 tháng 04, 2021

12 min read
·
views
·
likes

Phép toán trong Python là các phép tính toán được thực hiện trên các giá trị như số, chuỗi, danh sách, tuple, từ điển và các đối tượng khác trong Python. Python hỗ trợ nhiều loại phép toán như phép toán số học, phép so sánh, phép logic, phép gán giá trị, phép chuyển đổi kiểu dữ liệu và nhiều phép toán khác. Các phép toán này cho phép người dùng thực hiện nhiều tác vụ khác nhau trong Python, từ tính toán số học đến kiểm tra điều kiện và thực hiện các phép gán giá trị.

Python hỗ trợ nhiều phép toán khác nhau, bao gồm:

  • Phép toán số học: bao gồm phép cộng +, phép trừ -, phép nhân *, phép chia /, phép chia lấy phần dư %, phép lũy thừa **.
  • Phép so sánh: bao gồm phép so sánh bằng ==, phép so sánh khác !=, phép so sánh lớn hơn >, phép so sánh nhỏ hơn <, phép so sánh lớn hơn hoặc bằng >= và phép so sánh nhỏ hơn hoặc bằng <=.
  • Phép logic: bao gồm phép and logic and, phép or logic or và phép not logic not.
  • Phép gán giá trị: bao gồm phép gán giá trị =, phép gán giá trị tăng lên +=, phép gán giá trị giảm đi -= và phép gán giá trị nhân với *=.
  • Phép chuyển đổi kiểu dữ liệu: bao gồm các phép chuyển đổi kiểu số int, kiểu thập phân float, kiểu chuỗi str và kiểu boolean bool.

Những phép toán này cho phép người dùng thực hiện nhiều tác vụ khác nhau trong Python, từ tính toán số học đến kiểm tra điều kiện và thực hiện các phép gán giá trị.

Boolean

Kiểu dữ liệu boolean đại diện cho một trong hai giá trị: True hoặc False. Việc sử dụng kiểu dữ liệu này sẽ rõ ràng hơn khi chúng ta bắt đầu sử dụng các toán tử so sánh. Chữ cái đầu tiên T cho TrueF cho False (phải viết hoa không giống như JavaScript).

Ví dụ: Giá trị Boolean

print(True) print(False)
print(True) print(False)

Ngôn ngữ Python hỗ trợ một số loại toán tử. Trong phần này, ta sẽ tập trung vào một vài phép toán đó.

Phép gán

Toán tử gán được sử dụng để gán giá trị cho các biến. Bảng dưới đây cho thấy các loại toán tử gán khác nhau được sử dụng trong python, được lấy từ w3school

phép gán trong python, assignment operators python

Toán tử số học

phép toán số học trong python, arithmetic operators python

Integers (số nguyên)

Số nguyên (số âm, số 0 và số dương). Ví dụ: ..., -3, -2, -1, 0, 1, 2, 3, ...

# Phép toán số học trong Python # Số nguyên print ('Phép cộng: ', 1 + 2) # 3 print ('Phép trừ: ', 2 - 1) # 1 print ('Phép nhân: ', 2 * 3) # 4 print ('Phép chia: ', 4 / 2) # 2.0 print ('Phép chia: ', 6 / 2) # 3.0 print ('Phép chia: ', 7 / 2) # 3.5 print ('Phép chia lấy phần nguyên: ', 7 // 2) # 3 print ('Phép chia lấy phần dư: ', 3 % 2) # 1 print ('Phép chia lấy phần dư: ',7 // 3) # 2 print ('Phép lũy thừa: ', 3 ** 2) # 9
# Phép toán số học trong Python # Số nguyên print ('Phép cộng: ', 1 + 2) # 3 print ('Phép trừ: ', 2 - 1) # 1 print ('Phép nhân: ', 2 * 3) # 4 print ('Phép chia: ', 4 / 2) # 2.0 print ('Phép chia: ', 6 / 2) # 3.0 print ('Phép chia: ', 7 / 2) # 3.5 print ('Phép chia lấy phần nguyên: ', 7 // 2) # 3 print ('Phép chia lấy phần dư: ', 3 % 2) # 1 print ('Phép chia lấy phần dư: ',7 // 3) # 2 print ('Phép lũy thừa: ', 3 ** 2) # 9

Floats (số thực)

Số thập phân (để phân biệt phần nguyên và phần thập phân ta sử dụng dấu chấm .) Ví dụ: ..., -3.5, -2.25, -1.0, 0.0, 1.1, 2.2, 3.5, ...

Pi = 3.14 R = 2 print ('S = ',Pi*(R**R)) # 12.56
Pi = 3.14 R = 2 print ('S = ',Pi*(R**R)) # 12.56

Complex (số phức)

Số phức Ví dụ: 1 + j, 2 + 4j, 1 - 1j

print('Số phức:',1+1j) # (1+1j) print('Nhân số phức:',(1+1j) * (1-1j)) # (2+0j)
print('Số phức:',1+1j) # (1+1j) print('Nhân số phức:',(1+1j) * (1-1j)) # (2+0j)

Các ví dụ

Hãy khai báo biến và gán cho nó một giá trị. Ở đây, ta sẽ sử dụng biến có ký tự đơn (ví dụ: a). Lưu ý ta khai báo các loại biến như vậy, các tên biến phải đặt sao cho dễ nhớ.

  • Ví dụ 1: Khai báo biến ở trên cùng trước
a = 3 # a là tên biến và 3 là kiểu dữ liệu số nguyên b = 2 # b là tên biến và 3 là kiểu dữ liệu số nguyên # Phép toán số học và gán kết quả cho một biến total = a + b diff = a - b product = a * b division = a / b remainder = a % b floor_division = a // b exponential = a ** b print(total) # 5 print('a + b = ', total) # a + b = 5 print('a - b = ', diff) # a - b = 1 print('a * b = ', product) # a * b = 6 print('a / b = ', division) # a / b = 1.5 print('a % b = ', remainder) # a % b = 1 print('a // b = ', floor_division) # a // b = 1 print('a ** b = ', exponential) # a ** b = 9
a = 3 # a là tên biến và 3 là kiểu dữ liệu số nguyên b = 2 # b là tên biến và 3 là kiểu dữ liệu số nguyên # Phép toán số học và gán kết quả cho một biến total = a + b diff = a - b product = a * b division = a / b remainder = a % b floor_division = a // b exponential = a ** b print(total) # 5 print('a + b = ', total) # a + b = 5 print('a - b = ', diff) # a - b = 1 print('a * b = ', product) # a * b = 6 print('a / b = ', division) # a / b = 1.5 print('a % b = ', remainder) # a % b = 1 print('a // b = ', floor_division) # a // b = 1 print('a ** b = ', exponential) # a ** b = 9
  • Ví dụ 2: Khai báo các giá trị và sắp xếp chúng lại với nhau
num_one = 3 num_two = 4 # Các phép tính toán học total = num_one + num_two diff = num_two - num_one product = num_one * num_two div = num_two / num_one remainder = num_two % num_one # In các giá trị của biến print('total: ', total) # total: 7 print('difference: ', diff) # difference: 1 print('product: ', product) # product: 12 print('division: ', div) # division: 1.3333333333333333 print('remainder: ', remainder) # remainder:1
num_one = 3 num_two = 4 # Các phép tính toán học total = num_one + num_two diff = num_two - num_one product = num_one * num_two div = num_two / num_one remainder = num_two % num_one # In các giá trị của biến print('total: ', total) # total: 7 print('difference: ', diff) # difference: 1 print('product: ', product) # product: 12 print('division: ', div) # division: 1.3333333333333333 print('remainder: ', remainder) # remainder:1
  • Ví dụ 3: Sử dụng số thập phân để tính (diện tích, thể tích, trọng lượng,..)
# Tính diện tích hình tròn radius = 10 # bán kính của một vòng tròn area_of_circle = 3.14 * radius ** 2 # hai dấu * có nghĩa là số mũ hoặc lũy thừa print('Area of a circle:', area_of_circle) # Area of a circle: 314.0 # Tính diện tích hình chữ nhật length = 10 width = 20 area_of_rectangle = length * width print('Area of rectangle:', area_of_rectangle) # Area of rectangle: 200 # Tính trọng lượng của một vật mass = 75 gravity = 9.81 weight = mass * gravity print(weight, 'N') # 735.75 N (Thêm đơn vị N vào trọng lượng)
# Tính diện tích hình tròn radius = 10 # bán kính của một vòng tròn area_of_circle = 3.14 * radius ** 2 # hai dấu * có nghĩa là số mũ hoặc lũy thừa print('Area of a circle:', area_of_circle) # Area of a circle: 314.0 # Tính diện tích hình chữ nhật length = 10 width = 20 area_of_rectangle = length * width print('Area of rectangle:', area_of_rectangle) # Area of rectangle: 200 # Tính trọng lượng của một vật mass = 75 gravity = 9.81 weight = mass * gravity print(weight, 'N') # 735.75 N (Thêm đơn vị N vào trọng lượng)

Toán tử so sánh

Trong lập trình, ta sử dụng các toán tử so sánh để so sánh hai giá trị.Ta hay kiểm tra xem một giá trị lớn hơn hay nhỏ hơn hoặc bằng giá trị khác. Bảng sau đây cho thấy các toán tử so sánh python được lấy từ w3shool.

Toán tử so sánh, phép so sánh, comparison operators on python
  • Ví dụ: So sánh giá trị các số nguyên
print(3 > 2) # True, vì 3 lớn hơn 2 print(3 >= 2) # True, vì 3 lớn hơn 2 print(3 < 2) # False, vì 3 lơn hơn 2 print(2 < 3) # True, vì 2 nhỏ hơn 3 print(2 <= 3) # True, vì 2 nhỏ hơn 3 print(3 == 2) # False, vì 3 không bằng 2 print(3 != 2) # True, vì 3 không bằng 2
print(3 > 2) # True, vì 3 lớn hơn 2 print(3 >= 2) # True, vì 3 lớn hơn 2 print(3 < 2) # False, vì 3 lơn hơn 2 print(2 < 3) # True, vì 2 nhỏ hơn 3 print(2 <= 3) # True, vì 2 nhỏ hơn 3 print(3 == 2) # False, vì 3 không bằng 2 print(3 != 2) # True, vì 3 không bằng 2
  • Ví dụ: So sánh độ dài của ký tự
print(len('mango') == len('avocado')) # False print(len('mango') != len('avocado')) # True print(len('mango') < len('avocado')) # True print(len('milk') != len('meat')) # False print(len('milk') == len('meat')) # True print(len('tomato') == len('potato')) # True print(len('python') > len('dragon')) # False
print(len('mango') == len('avocado')) # False print(len('mango') != len('avocado')) # True print(len('mango') < len('avocado')) # True print(len('milk') != len('meat')) # False print(len('milk') == len('meat')) # True print(len('tomato') == len('potato')) # True print(len('python') > len('dragon')) # False
  • Ví dụ: So sánh một cái gì đó là True hoặc False
print('True == True: ', True == True) # True print('True == False: ', True == False) # False print('False == False:', False == False) # True print('True and True: ', True and True) # True print('True or False:', True or False) # True
print('True == True: ', True == True) # True print('True == False: ', True == False) # False print('False == False:', False == False) # True print('True and True: ', True and True) # True print('True or False:', True or False) # True
  • Ngoài việc sử dụng toán tử so sánh ở trên, python còn sử dụng:
    • is: Trả về True nếu cả hai biến là cùng một đối tượng (x is y)
    • is not: Trả về True nếu cả hai biến không phải là cùng một đối tượng (x is not y)
    • in: Trả về True nếu danh sách được truy vấn chứa một mục nhất định (x in y)
    • not in: Trả về True nếu danh sách được truy vấn không có một mục nào đó (x not in y)
print('1 is 1', 1 is 1) # True - vì giá trị dữ liệu giống nhau print('1 is not 2', 1 is not 2) # True - vì 1 không phải là 2 print('C in Chanh', 'C' in 'Chanh') # True - A được tìm thấy trong chuỗi Chanh print('c in Chanh', 'c' in 'Chanh') # False - vì không có chữ C hoa print('coding' in 'coding for all') # True - vì từ coding có trong chuỗi print('a in an:', 'a' in 'an') # True print('4 is 2 ** 2:', 4 is 2 ** 2) # True
print('1 is 1', 1 is 1) # True - vì giá trị dữ liệu giống nhau print('1 is not 2', 1 is not 2) # True - vì 1 không phải là 2 print('C in Chanh', 'C' in 'Chanh') # True - A được tìm thấy trong chuỗi Chanh print('c in Chanh', 'c' in 'Chanh') # False - vì không có chữ C hoa print('coding' in 'coding for all') # True - vì từ coding có trong chuỗi print('a in an:', 'a' in 'an') # True print('4 is 2 ** 2:', 4 is 2 ** 2) # True

Toán tử logic

Không giống như các ngôn ngữ lập trình khác python sử dụng các từ khóa and, ornot cho toán tử logic. Các toán tử logic thường được sử dụng để kết hợp các câu lệnh điều kiện:

Toán tử logic, logical operators on python
print(3 > 2 and 4 > 3) # True - Vì cả 2 điều kiện đều đúng print(3 > 2 and 4 < 3) # False - vì điều kiện thứ hai sai print(3 < 2 and 4 < 3) # False - vì cả 2 điều kiện sai print(3 > 2 or 4 > 3) # True - vì cả 2 điều kiện đúng print(3 > 2 or 4 < 3) # True - vì một trong các điều kiện là đúng print(3 < 2 or 4 < 3) # False - vì cả hai điều kiện đều sai print(not 3 > 2) # False - vì 3>2 là True, khi đó phủ định True là False print(not True) # False - phủ định của True là False print(not False) # True print(not not True) # True print(not not False) # False
print(3 > 2 and 4 > 3) # True - Vì cả 2 điều kiện đều đúng print(3 > 2 and 4 < 3) # False - vì điều kiện thứ hai sai print(3 < 2 and 4 < 3) # False - vì cả 2 điều kiện sai print(3 > 2 or 4 > 3) # True - vì cả 2 điều kiện đúng print(3 > 2 or 4 < 3) # True - vì một trong các điều kiện là đúng print(3 < 2 or 4 < 3) # False - vì cả hai điều kiện đều sai print(not 3 > 2) # False - vì 3>2 là True, khi đó phủ định True là False print(not True) # False - phủ định của True là False print(not False) # True print(not not True) # True print(not not False) # False

Bài tập

  1. Khai báo tuổi của bạn dưới dạng biến số nguyên
  2. Khai báo chiều cao của bạn dưới dạng biến float
  3. Khai báo một biến số phức
  4. Viết chương trình nhập vào cạnh chiều cao của tam giác và tính diện tích của tam giác này (diện tích = 0,5 x a x h).
  5. Viết chương trình nhập cạnh a, cạnh b và cạnh c của tam giác. Tính chu vi hình tam giác (chu vi = a + b + c).
  6. Nhập chiều dài và chiều rộng của hình chữ nhật. Tính diện tích của nó (diện tích = dài x rộng) và chu vi (chu vi = 2 x (dài + rộng))
  7. Nhập vào bán kính của một vòng tròn. Tính diện tích (diện tích = pi x r x r) và chu vi (c = 2 x pi x r) trong đó pi = 3,14.
  8. Tính hệ số góc, giao điểm x và giao điểm y của y = 2x -2
  9. Độ dốc là (m = y2-y1 / x2-x1). Tìm hệ số góc giữa điểm (2, 2) và điểm (6,10)
  10. So sánh 8 và 9.
  11. Tính giá trị của y (y = x ^ 2 + 6x + 9).
  12. Tìm độ dài của 'python' và 'javascript' và so sánh.
  13. Sử dụng toán tử and để kiểm tra xem có tìm thấy 'on' trong chuỗi 'python' và 'jargon' hay không.
  14. I hope this course is not full of jargon. Sử dụng toán tử in để kiểm tra xem có jargon trong câu hay không.
  15. Tìm độ dài của chuỗi python và chuyển đổi giá trị thành float và chuyển nó thành chuỗi.
  16. Số chẵn là số chia hết cho 2 và dư không. Làm thế nào để bạn kiểm tra xem một số đã cho là số chẵn hay không?
  17. Tỷ lệ chia tầng của 7 cho 3 bằng giá trị được chuyển đổi int là 2,7.
  18. Kiểm tra xem 10 có bằng 10 không.
  19. Kiểm tra xem int('9.8') có bằng 10 không.
  20. Viết chương trình nhắc người dùng nhập giờ và lương của mỗi giờ. Tính lương của người đó? (Ví dụ: Nhập giờ: 40; Thu nhập mỗi giờ: 28; Thu nhập hàng tuần của bạn là 1120)
  21. Viết chương trình nhập số năm. Tính số giây một người có thể sống. (Ví dụ: Nhập số năm bạn đã sống: 100 Bạn đã sống trong 3153600000 giây).
  22. Viết một chương trình python hiển thị bảng sau:
1 1 1 1 1 2 1 2 4 8 3 1 3 9 27 4 1 4 16 64 5 1 5 25 125