Friday, 16 July 2010

Python - Bài 2.2 - While, Note

2.2.1 Chú thích trong Python
Trong python, ta đặt các dòng chú thích sau dấu #.
Trình dịch sẽ bỏ qua chúng.

Note: #!/usr/bin/env python cũng là 1 chú thích! nhưng phải có vì nó giúp terminal biết rằng đây là 1 chương trình python để terminal gọi trình biên dịch python (đóan thế =)) )
2.2.2 Sử dụng nháy đơn và nháy kép
Sử dụng “abc” và ‘abc’
Có thể sử dụng nháy đơn hay nháy kép đều được. Tùy chọn dùng cái này khi cái kia xuất hiện một cách linh họat. Ví dụ
[code]
print 'I am a Huster'
print "I'm a Hutster"
print 'She said "Don\'t kiss me"'
[/code]
dấu \ đã sử dụng ở vd 3
\n : xuống dòng
\t : tab

dùng 1 dấu = để gán giá trị cho biến, dùng 2 dấu = "==" để so sánh 2 biến hoặc 2 giá trị , hoặc biến với giá trị.

if x==y:
elif:
........
else:
...........

sau dấu : (colon), câu lệnh phải lùi thụt vào (tab or 4 spaces)


Lệnh While

Thực hiện vòng lặp khi điều kiện được thỏa mãn:
[code]
#!/usr/bin/env python
loop=1
while loop == 1:
x = raw_input("Enter something or 'quit' to end ==> ")
if x== 'quit':
print 'quitting'
loop = 0
else:
print 'you typed %s' % x
[/code]

trong ví dụ, điều kiện biến loop == 1 đã thoả mãn nên vòng lặp được thực hiện.

VD:
Dùng list, các vòng lặp và những gì đã học để viết 1 chương trình đăng nhập. Người dùng nhập User và password. Chương trình kiểm tra và thông báo.

Bài làm:
[code]
#!/usr/bin/env python
usr=['FAMIHUG','hvnbbz','HVN']
pwd=['123456','123','321']

user = raw_input("Nhap username: ")
pas = raw_input("Nhap password: ")
x=0
for count in range(0,2):
x=x+1
if user==usr[x]:
k=x
if pas==pwd[k]:
print "Chao mung "+usr[x]+" da dang nhap tro lai"
else:
print "Ban da nhap sai username hoac password"
relogin = raw_input("Ban co muon dang nhap lai? (c/k)")
if relogin == 'k':
print "quitting...."
else:
print "het tien...."
else:
print 'Tai khoan nay khong co trong danh sach thanh vien FAMILUG'
[/code]
Ai có bài làm hay hơn thì post nhé :D Trong số FC28 có sử dụng module có sẵn nên không phải dùng vòng lặp để kiểm tra.

PS: copy về paste không chạy được vì có đoạn code chưa thụt vào sau dấu 2 chấm (colon)