Lessons V : Cú pháp và các cấu trúc lập trình cơ bản trong Python

II. Cú pháp và các cu trúc lp trình cơ bn trong Python:

Phần này sẽ trình bày về cú pháp và các cấu trúc lập trình cơ bản nhất trong Python:

1. Toán tử:

Python s dng các toán t sau:

+  -  *  /   
// (chia làm tròn)   
% (phần dư)   
** (lũy thừa)
~ (not)   
& (and)   
| (or)   
^ (xor)
<< (left shift)   
>> (right shift)
== (bằng)   
<=   
>=   
!= (khác)

2. Chú thích

Trong Python đ viết dòng chú thích ta s dng du #

# dòng chú thích

3. Lệnh gán

tên biến = biểu thức
x = 23.8
y = -x ** 2
z1 = z2 = x + y
loiChao = "Hello!"
i += 1    # tăng biến i thêm 1 đơn vị

4. In giá trị:

print biểu thức
print (7 + 8) / 2.0
print (2 + 3j) * (4 - 6j)

Nội suy chuỗi (string interpolation)

print "Hello %s" %("world!")
print "i = %d" %i
print "a = %.2f and b = %.3f" %(a,b)

5. Cấu trúc rẽ nhánh với câu lệnh if:

          Có 3 dng cu trúc r nhánh:

  • Dạng 1:
if biểu_thức_đúng:
   # lệnh ...
  • Dạng 2:
if biểu_thức_đúng:
   # lệnh ...
else:
   # lệnh ...
  • Dạng 3:
if biểu_thức_đúng:
   # lệnh ...
elif:
   # lệnh ...
else:
   # lệnh ...
Có thể có nhiều cặp elif liên tiếp. Ví dụ:
>>> x = int(raw_input("Please enter an integer: "))
>>> if x < 0:
...      x = 0
...      print 'Negative changed to zero'
... elif x == 0:
...      print 'Zero'
... elif x == 1:
...      print 'Single'
... else:
...      print 'More'
...
 

6. Cấu trúc lặp với lệnh for và while:

Có 2 dng cu trúc lp vi while và for.

a. Lnh for:

for phần_tử in dãy:
   # lệnh ...
Ví dụ: 
L = ["Ha Noi", "Hai Phong", "TP Ho Chi Minh"]
for thanhPho in L:
   print thanhPho
for i in range(10):
   print i

            Câu lệnh for trong Python khác một chút so với trong C hoặc Pascal. Lệnh for lặp lại qua các thành phần của một chuỗi bất kì (như là list hoặc string), theo thứ tự mà các thành phần đó xuất hiện trong chuỗi. Ví dụ:

>>> # Measure some strings:
... a = ['cat', 'window', 'defenestrate']
>>> for x in a:
...     print x, len(x)
... 
cat 3
window 6
defenestrate 12

            Vì lí do sử dụng như trên cho nên sẽ không an toàn nếu ta sửa đổi một chuỗi mà đang sử dụng để lặp ( điều này chỉ xảy ra với kiểu chuỗi khả biến). Trong trường hợp cần thay đổi chuỗi ( ví dụ lặp lại những thành phần nào đó) thì phải lặp qua một bản sao của chuỗi ban đầu. Chỉ cần dùng kí tự : để làm điều này: 

>>> for x in a[:]: # make a slice copy of the entire list
...    if len(x) > 6: a.insert(0, x)
... 
>>> a
['defenestrate', 'cat', 'window', 'defenestrate']
 
b. Lệnh while:
while biểu_thức_đúng:
   # lệnh ...

7. Hàm range( ):
            Nếu cần lặp qua một chuỗi số, hàm range( ) có thể được sử dụng. Nó tạo ra một danh sách chứa chuỗi các số học:
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
            Điểm kết thúc đã cho không bao giờ là một phần của chuỗi sẽ tạo ra; range(10) tạo ra một danh sách 10 giá trị,giống như chỉ số các thành phần của một chuỗi chiều dài 10. Cũng có thể đặt cho range( ) vị trí bắt đầu, hoặc xác định một bước tăng khác.

>>> range(5, 10)
[5, 6, 7, 8, 9]
>>> range(0, 10, 3)
[0, 3, 6, 9]
>>> range(-10, -100, -30)
[-10, -40, -70]

            Để lặp qua chỉ số của một chuỗi, sử dụng kết hợp range( ) và len( ) như dưới đây:

>>> a = ['Mary', 'had', 'a', 'little', 'lamb']
>>> for i in range(len(a)):
...     print i, a[i]
... 
0 Mary
1 had
2 a
3 little
4 lamb
 
8. Các câu lệnh break và continue, và mệnh đề else trong vòng lặp:
            Câu lệnh break, giống nhau C, nhảy ra khỏi vòng lặp ngay trước nó mà chứa nó.
            Câu lệnh continue, cũng kế thừa từ C, để tiếp tục thực hiện với giá trị lặp tiếp theo của vòng lặp.
            Ngoài ra, các câu lệnh lặp cũng có thể sử dụng mệnh đề else. Nó sẽ được thực hiện khi vòng lặp kết thúc ( đến cuối của danh sách với for, hoặc khi gặp điều kiện sai với while ), nhưng không được thực hiện khi vòng lặp kết thúc bằng lệnh break. Xem xét ví dụ dưới đây để tìm số nguyên tố:

>>> for n in range(2, 10):
...     for x in range(2, n):
...         if n % x == 0:
...             print n, 'equals', x, '*', n/x
...             break
...     else:
...    # loop fell through without finding a factor
...         print n, 'is a prime number'
... 
2 is a prime number
3 is a prime number
4 equals 2 * 2
5 is a prime number
6 equals 2 * 3
7 is a prime number
8 equals 2 * 4
9 equals 3 * 3
 
9. Lệnh pass
            Câu lệnh pass không chứa gì thêm ngoài từ khóa. Nó có thể được sử dụng khi một lệnh được chờ đợi nhưng chương trình không cần có hành động nào. Ví dụ:

>>> while True:
...       pass # Busy-wait for keyboard interrupt
...

10.  S tương đương gia true và mt giá tr khác 0

Cũng như C/C++, bất kì một giá trị khác 0 nào cũng tương đương với true và ngược lại, một giá trị 0 tương đương với false. Như vậy:

if a != 0:

tương đương với

if a:

 

  1. Leave a comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: