Wednesday, 4 August 2010

[Python] Sử dụng python như 1 chiếc máy tính

Bài viết này là bản dịch sơ lược từ Python tutorial

Đây sẽ là 1 bài hướng dẫn sử dụng python như 1 cái máy tính (cộng trừ nhân chia).

Chế độ này gọi là: Interactive Mode (làm việc với python theo kiểu tương tác)

Sau khi cài python trên Windows (Ubuntu đã cài sẵn), mở cmd hoặc terminal (bài này sử dụng python2), gõ
python
Màn sẽ hiện như sau:

 
Gõ vào 2+2
>>> 2+2
4
Từ đây trở đi, những gì sau ">>>" là phần mình gõ vào, dòng tiếp theo không có gì đứng trước là kết quả Python trả về sau khi chạy code mình đã gõ.
>>> # This is a comment
... 2+2
4 
>>> (50-5*6)/4
5
Chia 7/3 : sẽ có kết quả làm tròn đến số integer (nguyên) bé hơn
VD: 2,5->2 |||| -2,5 -> -3
>>> #chia
... 7/3
2
>>> 7/-3
-3
Gán giá trị cho biến rồi tính: vd height=5 width=4
>>> width = 4
>>> height = 5
>>> width * height
20

Gán cho x = y =z =0 rồi hiện từng giá trị x,y,z
>>> x = y = z = 0 # Zero x, y and z
>>> x
0
>>> y
0
>>> z
0
Biến nào không gán giá trị trước mà mang ra dùng thì sẽ bị lỗi!
>>> # try to access an undefined variable
... n
Traceback (most recent call last):
File "", line 1, in
NameError: name 'n' is not defined
Hỗ trợ cả phép tính với floating point(dấu chấm động - số thập phân)
>>> 3 * 3.75 / 1.5
7.5
>>> 7.0 / 2
3.5
giá trị trả về sau mỗi phép tính sẽ được gán vào biến "_". Trong ví dụ này là kết quả
của phép tính price * tax được gán vào _ 
>>> tax = 12.5 / 100
>>> price = 100.50
>>> price * tax
12.5625
>>> price + _
113.0625
>>> round(_, 2) # làm tròn đến sau dấu phẩy 2 chữ số
113.06
Hỗ trợ tính toán với số phức (Complex numbers) gồm phần thực và phần ảo.
Cái này đi thi đh thì sướng phải biết :))
>>> 1j * 1J
(-1+0j)
>>> 1j * complex(0,1)
(-1+0j)
>>> 3+1j*3
(3+3j)
>>> (3+1j)*3
(9+3j)
>>> (1+2j)/(1+1j)
(1.5+0.5j)

In ra màn phần thực và phần ảo: 
>>> a=1.5+0.5j
>>> a.real
1.5
>>> a.imag
0.5
Dùng lệnh abs(biến) để tính module của số thực (magnitude - độ lớn)
>>> a=3.0+4.0j
>>> abs(a) # sqrt(a.real**2 + a.imag**2)
để thoát: gõ lệnh quit()
(hoặc nhấn phím ctrl D)

Hết.
Edited 2016/08/19