Có máy loại biểu thức trong Python

Lập trình Python

a. Cấu trúc chương trình

– Chương trình viết bằng ngôn ngữ Python có thể bắt đầu bằng câu lệnh bất kỳ.

– Biến không cần phải khai báo trước, kiểu dữ liệu của biến có thể thay đổi

– Sau các câu lệnh không nhất thiết phải sử dụng dấu ; mà chỉ sử dụng dấu ; để ngăn cách giữa các câu lệnh trên cùng một dòng.

– Khai báo thư viện: import <Tên thư viện>

b. Các kiểu dữ liệu chuẩn

– Khi gán giá trị có kiểu gì thì biến sẽ có kiểu dữ liệu đó.

+ int: Kiểu số nguyên, hàm chuyển về kiểu số nguyên int[<biểu thức>]

+ float: Kiểu số thực, hàm chuyển về kiểu số thực float[<biểu thức>]

+ str: Kiểu xâu, hàm chuyển về xâu str[<biểu thức>]

   Trong Python không có kiểu ký tự [mà đó là xâu có 1 ký tự]

   giá trị của xâu đặt trong cặp dấu nháy đơn ‘ và ‘ hoặc nháy kép “ và ”.

+ bool: Kiểu logic, chỉ có 2 giá trị True/ False, hàm chuyển về kiểu logic bool[<biểu thức>]

– Để biết kiểu dữ liệu của biểu thức ta dùng hàm: type[<biểu thức>]

2. Phép toán, biểu thức, câu lệnh gán

a. Phép toán

Phép toánTrong Toán họcTrong Python
Phép toán số học với số nguyên+ [cộng], – [trừ] , x [nhân], div [chia lấy nguyên], mod [chia lấy dư]+, -, *, //, %
Phép toán số học với số thực+ [cộng], – [trừ], x [nhân], : [chia]+, – , *, /
Phép toán quan hệ< [bé hơn], ≤ [bé hơn hoặc bằng], = [bằng] > [lớn hơn] ≥ [lớn hơn hoặc bằng], ≠ [khác]<, <=, == >, >=, !=
Phép toán logic┐ [phủ định], ˅ [hoặc], ˄ [và]not, or, and
Lưu ý: Phép mũ ta sử dụng dấuTrong Python: ** [mũ]x**y có nghĩa xy
Phép toán trong Python

Lưu ý:

Phép toánKết quả dụ
notTrả về True khi False và ngược lạinot x
orTrả về True khi chỉ cần một trong hai [hoặc cả hai] có giá trị Truex or y
andTrả về True khi cả hai có giá trị đều bằng Truex and y
Phép toán quan hệ

b. Biểu thức

– Thứ tự ưu tiên các phép toán:

+ Thực hiện các phép toán trong dấu ngoặc trước

+ Phép toán không chứa ngoặc thì ưu tiên theo thứ tự sau:

* [nhân], / [chia], // [chia lấy nguyên], % [chia lấy dư], + [cộng], – [trừ]

– Ví dụ:

Biểu thức Toán họcBiểu thức Python
$3x + y$3*x + y
$\frac{xy}{z}$x*y/z
$\frac{x}{\frac{x}{y+1}-1}-\frac{xy}{x-y}$x/[x/[y+1]-1] – x*y/[x-y]

c. Câu lệnh gán

– Cú pháp: <tên biến> = <biểu thức>

– Dùng để gán giá trị của biểu thức cho biến, khi đó biểu thức có giá trị kiểu gì thì biến có kiểu đó.

Lưu ý: Trong Python tên biến có phân biệt chữ in hoa và chữ in thường.

– Ví dụ:

dem = 10 #Gán giá trị 10 cho biến dem, khi đó dem có kiểu số nguyên PI = 3.14 #Gán giá trị 3.14 cho biến PI, khi đó biến PI có kiểu số thực s = [x + y]* 2 #Tính giá trị của biểu thức và gán cho biến s dientich = PI*r*r #Tính diện tích hình tròn và gán cho biến dientich hoten = “Nguyen Van Nam” #Gán xâu “Nguyen Van Nam” cho biến hoten kt = True #Gán giá trị True cho biến kt kt = [x >= 5] and [x <= 10] #Gán giá trị của biểu thức logic cho biến kt x, y = 10, 5 #Gán 10 cho biến x và 5 cho biến y

3. Hàm số học chuẩn

Hàm số học chuẩn thường chứa trong thư viện Toán học math do đó khi sử dụng các hàm đó ta phải thêm thư viện math vào chương trình bằng câu lệnh: import  math

Trong Toán họcTrong PythonÝ nghĩa
$\sqrt{x}$math.sqrt[x]Căn bậc hai của x
$\log_{a}b$ , $ln x$math.log[b,a], math.log[x]Loga cơ số a của b, loga cơ số e của x
xymath.pow[x,y] hoặc x**yx mũ y
exmath.exp[x]e mũ x, với e = 2.718281828459045
| x |abs[x] hoặc math.fabs[x]Hàm abs không thuộc thư viện math
$\pi$math.piSố Pi, Pi = 3.14159,…
sinx, cosx, tanxmath.sin[x], math.cos[x], math.tan[x]Sin, cos, tan của x
UCLN[a,b]math.gcd[a,b]Ước chung lớn nhất của a và b
x!math.factorial[x]Giai thừa của x
round[x], round[a,n]Làm tròn số x, làm tròn a đến n số
math.ceil[x], math.floor[x]Lấy trần trên, trần dưới của số x

4. Nhập xuất dữ liệu đơn giản

a. Nhập dữ liệu vào từ bàn phím

– Cú pháp: <tên biến> = input[<Thông báo>]

– Giá trị nhập vào mặc định của hàm input là kiểu xâu. Do đó muốn chuyển qua kiểu khác ta phải dùng các hàm ép kiểu như: int, float, str, bool

Lưu ý: Hàm map, split[] thường được sử dụng để nhập giá trị cho nhiều biến

– Ví dụ:

hoten = input[“Moi nhap ho ten: “] #Nhập dữ liệu kiểu xâu cho biến hoten tuoi = int[input[“Moi nhap tuoi: “]] #Chuyển giá trị nhập vào sang kiểu nguyên và gán cho biến tuoi x = float[input[“Moi nhap do cao: “]] #Nhập dữ liệu kiểu số thực cho biến x m, n = map[int,input[“Moi nhap 2 so nguyen: “].split[]] #Nhập giá trị cho 2 biến số nguyên a = list[map[int,input[“Moi nhap day so nguyen: “].split[]]] #Nhập giá trị cho mảng số nguyên a

b. Xuất dữ liệu ra màn hình

– Cú pháp: print[<dãy kết quả>, [sep=‘  ‘, end=‘\n’]]

– Ý nghĩa:

+ In ra màn hình dãy kết quả, các kết quả cách nhau bởi sep và kết thúc bởi end

+ Dãy kết quả cách nhau bởi dấu phẩy dưới nếu nhiều kết quả

– Ví dụ:

[1] print[“Hello World “] #Xuất ra màn hình chữ Hello World [2] hoten = “Nguyen Tien Duy”; print[“Xin chao”,hoten] #Xuất ra màn hình chữ Xin chao Nguyen Tien Duy [3] print[“UCLN cua”,a,”va”,b,”la”,math.gcd[a,b]] #Xuất ra màn hình ước chung lơn nhất của a và b [4] print["Tong cua {0} va {1} la {2:.1f}".format[a,b,s]] #Xuất dữ liệu có định dạng 1 [5*] s = a + b; print[f“Tong cua {a} va {b} la {s: .2f}”] #Xuất dữ liệu có định dạng 2 [6*] print["Chu vi la %.2f" %chuvi] #Xuất dữ liệu có định dạng 3 [7*] print["Chu vi la %.2f" %chuvi, "Dien tich la %.2f" %dientich]

Phần bài tập về phép toán, biểu thức, câu lệnh gán

Câu 1: Viết chương trình xuất ra màn hình nhiệt độ [oK] tương ứng khi nhập vào nhiệt độ [oC]

Câu 2: Viết chương nhập vào 2 số nguyên dương m và n [m>n], hãy in ra màn hình phần nguyên và phần dư của m chia cho n?

Câu 3: Viết chương trình tính diện tích hình tròn với bán kính nhập vào từ bàn phím?

Câu 4: Viết chương trình tính vận tốc của vật khi rơi tự do từ độ cao h [m]? Biết vận tốc v được tính theo công thức $v=\sqrt{2gh}$ và g = 9.8 m/s2  , với độ chính xác 2 chữ số thập phân.

Câu 5: Viết chương trình nhập vào m và n, tính và xuất ra màn hình giá trị mn?

Câu 6: Cho biểu thức:

\[f[x,y]=\frac{\sin x}{\frac{2x+y}{\cos x}-\frac{{{x}^{y}}}{x-y}}\]

Viết chương trình tính giá trị của biểu thức f[x,y] tại x, y nhập vào từ bàn phím

Câu 7: Viết chương trình kiểm tra xem điểm M[x,y] có nằm trong hình tròn tâm I[a,b] và bán kính R bằng cách xuất ra giá trị True nếu điểm M nằm trong hoặc trên hình tròn và False nếu nằm ngoài hình tròn, với x, y, a, b, R nhập vào từ bàn phím?

Xem tiếp Bài 3 – Cấu trúc rẽ nhánh trong ngôn ngữ lập trình Python

Mỗi ngôn ngữ lập trình khác nhau lại có một tập toán tử khác nhau, tuy nhiên, nếu ai đã học qua lập trình sẽ thấy các hệ toán tử thường khá tương đồng với nhau, đặc biệt là ở các ngôn ngữ như C++, Java và Python. Bài viết dưới đây sẽ giới thiệu tới các bạn các loại toán tử hữu ích trong Python cùng các ví dụ minh họa cụ thể.

Toán tử trong Python là một ký hiệu thực hiện một phép toán trên một hoặc nhiều toán hạng. Toán hạng là một biến hoặc một giá trị mà chúng ta thực hiện phép toán.

Toán tử Python được chia thành 7 loại:

- Toán tử số học Python

- Toán tử so sánh (quan hệ) Python

- Toán tử gán trong Python

- Toán tử logic Python

- Toán tử Membership Python

- Toán tử xác thực Python

- Toán tử Bitwise trong Python

Toán tử số học trong Python

Các toán tử số học Python này bao gồm các toán tử Python cho các phép toán cơ bản như cộng, trừ, nhân, chia,...

Giả sử biến a giữ giá trị là 10 và biến b giữ giá trị 20, ta sẽ có bảng ví dụ như sau:

Toán tử

Mô tả

Ví dụ

Phép cộng (+)

Thêm giá trị bằng cách cộng hai biến lại với nhau

a+b=30

Phép trừ (-)

Trừ toán hạng bên phải khỏi toán hạng bên trái

a-b=-10

Phép nhân (*)

Nhân hai giá trị lại với nhau

a*b=200

Phép chia (/)

Chia hai giá trị cho nhau

b/a=2

Phép chia lấy phần dư (%)

Chia toán hạng bên trái cho toán hạng bên phải và trả về phần dư

b%a=0

Toán tử mũ(**)

Thực hiện phép tính lũy thừa trên các toán tử

a**b= 10 mũ 20

Chia làm tròn xuống (//)

Sự phân chia các toán hạng trong đó kết quả là thương số, các chữ số sau dấu thập phân bị loại bỏ. Nhưng nếu một trong các toán hạng là số âm, kết quả sẽ được làm tròn, tức là, được làm tròn từ 0 (về phía âm vô cùng) 

 

 >>> Xem thêm: Khóa học lập trình Python

Toán tử quan hệ trong Python

Toán tử quan hệ được thực hiện bằng cách so sánh giữa các toán hạng với nhau. Chúng cho ta biết liệu một toán hạng lớn hơn, nhỏ hơn hay bằng. Hay nói cách khác toán tử này so sánh các giá trị ở hai bên và quyết định mối quan hệ giữa chúng.

Giả sử biến a là 10 và biến b là 20 thì ta có ví dụ sau:

Toán tử

Mô tả

Ví dụ

==

Nếu giá trị của hai toán hạng bằng nhau thì kết quả trả về là True

(a==b) là false

!=

So sánh giá trị hai toán hạng xem chúng giống hay khác nhau, nếu khác nhau kết quả trả về là True, giống nhau kết quả trả về là False 

a!=b là false

<>

Nếu giá trị của hai toán hạng không bằng nhau thì ta có điều kiện đúng

(a<>b) là đúng. Toán tử này tương tự với toán tử !=

>

Nếu giá trị của toán hạng bên trái lớn hơn toán hạng bên phải thì điều kiện ta có sẽ là true

(a>b) là false

<

Nếu giá trị của hạng bên trái nhỏ hơn giá trị của toán hạng bên phải thì điều kiện trở thành true

(a<b) là đúng

>=

Nếu giá trị của toán hạng bên trái lớn hơn hoặc bằng giá trị của toán hạng bên phải thì ta sẽ có điều kiện đúng

(a>=b) là sai

<=

Nếu giá trị của toán hạng bên trái nhỏ hơn hoặc bằng giá trị của toán hạng bên phải thì ta sẽ có điều kiện đúng

(a<=b) là đúng

Toán tử gán trong Python

Giả sử biến a có giá trị là 10, biến b có giá trị là 20 ta có bảng sau

Toán tử

Mô tả

Ví dụ

=

Gán giá trị của toán hạng bên trái cho toán hạng bên phải

c=a+b thì lúc này giá trị của a+b đã được gán cho c

+= 

Cộng toán hạng bên phải với toán hạng bên trái rồi gán kết quả cho toán hạng bên trái

c+= a tương đương với c=c+a

-=

Trừ toán hạng bên phải từ toán hạng bên trái rồi gán kết quả cho toán hạng bên trái

c-= a tương đương với c=c-a

*=

Nhân toán hạng bên phải với toán hạng bên trái rồi gán kết quả cho toán hạng bên trái

c*=a tương đương với c=c*a

/=

Chia toán hạng bên phải với toán hạng bên trái rồi gán kết quả cho toán hạng bên trái

c/a=a tương đương với c=c/a

%=

Chia lấy số dư từ hai toán hạng và gán giá trị cho toán hạng bên trái

c%=a tương đương với c=c%a

**=

Toán hạng bên trái lũy thừa với toán hạng bên phải rồi gán giá trị cho toán hạng bên trái

c**=a tương đương với c= c**a

//=

Toán tử này thực hiện phép chia làm tròn xuống rồi gán giá trị cho đối tượng 

c//=a tương đương với c=c//a

Toán tử Bitwise trong Python

Toán tử Bitwise trong Python hoạt động dựa trên bit và thực hiện thao tác trên từng bit. Giả sử ta có a=60 và b=13 thì ở dưới dạng nhị phân, giá trị của chúng sẽ lần lượt là 0011 1100 và 0000 1101. Bảng dưới đây sẽ chỉ ra các toán tử được hỗ trợ trong ngôn ngữ lập trình Python với các ví dụ kèm theo, ở đây ta sẽ dùng hai biến (a và b) như các toán hạng.

a=0011 1100

b= 0000 1101

---------------

a&b=0000 1100

a|b= 0011 1101

a^b = 0011 0001

~a  = 1100 0011

Toán tử

Ví dụ

&

(a&b) là 0000 1100

|

(a | b) = 61 (nghĩa là 0011 1101)

^

(a ^ b) = 49 (nghĩa 0011 0001)

~

(~a) =-61 

<<

a<<2=240 là 1101 0000

>>

a>>2=15 (nghĩa là 0000 1111)

Toán tử logic Python

Có một số toán tử được hỗ trợ bằng ngôn ngữ lập trình Python. Giả sử biến a =10 và biến b=20 thì ta có:

Toán tử

Mô tả

Ví dụ

and

Nếu cả hai vế toán hạng đúng thì ta sẽ có điều kiện đúng

(a and b) là đúng

or

Nếu một trong hai toán hạng đúng thì kết quả trả về là đúng

(a or b) là đúng

not

Sử dụng để đảo ngược tình trạng logic của toán hạng. Nếu biểu thức là True thì kết quả nhận được là False và ngược lại

Not (a and b) là sai

Toán tử Membership Python (Toán tử khai thác)

Toán tử Membership của Python kiểm tra tư cách thành viên của đổi số trong một sequence như strings, lists hoặc tuples. Có hai loại toán tử khai thác như sau:

Toán tử

Mô tả

in

Trả về kết quả là true nếu tìm thấy đối số trong một tập đối số và false nếu ngược lại

not in

Trả về kết quả là true nếu không tìm thấy đối số trong một tập đối số và false nếu ngược lại

Toán tử xác thực trong Python

Toán tử xác thực so sánh vị trí bộ nhớ của hai đối tượng.

Toán tử

Mô tả

is

Nếu các biến ở hai bên của toán tử trỏ đến cùng một đối tượng thì kết quả nhận được là true, nếu ngược lại, kết quả sẽ là false

is not

Nếu các biến ở hai bên của toán tử trỏ đến cùng một đối tượng thì kết quả nhận được là false, nếu ngược lại, kết quả sẽ là true

Kết luận: Trên đây là một số kiến thức cơ bản về toán tử trong Python cũng như các loại toán tử trong Python. Các lập trình viên có thể áp dụng để lập trình nhanh chóng và hiệu quả hơn. Để tìm hiểu thêm về Python và các ngôn ngữ lập trình khác, tham khóa các  khóa học lập trình tại T3H bạn nhé! 

>>> Xem thêm: Pycharm là gì? Hướng dẫn cài đặt và sử dụng Pycharm

Video liên quan

Chủ đề