CHƯƠNG 1 Bài 1.1 Viết chương trình in ra màn hình dòng chữ Hello World Bài 1.2 Viết chương trình nhập nhiệt độ F và chuyển sang nhiệt độ C theo công thức: C = 5*(F - 32) / 9, với C: nhiệt độ C; F: nhiệt độ F Bài 1.3 Viết chương trình nhập vào 2 số nguyên, in ra màn hình tổng bình phương của 2 số nguyên đó. Công thức: S = a*a + b*b Bài 1.4 Viết chương trình nhập vào 2 số nguyên, in ra màn hình hiệu bình phương của 2 số nguyên đó. Công thức: S = a*a - b*b Bài 1.5 Viết chương trình nhập một số gồm 2 chữ số, in ra màn hình số hàng đơn vị và số hàng chục Thí dụ số nhập vào là 13, in ra màn hình số hàng đơn vị là 3 và số hàng chục là 1 Bài 1.6 Viết chương trình nhập một số gồm 2 chữ số, in ra màn hình số đảo ngược Thí dụ số nhập vào là 13, in ra màn hình số đảo ngược là 31 Bài 1.7 Viết chương trình nhập một giá trị tùy ý (chuỗi, số nguyên, số thực), sau đó in ra màn hình giá trị nhập được và cho biết kiểu dữ liệu của nó Thí dụ nhập vào số 50, in ra màn hình số vừa nhập là 50 và kiểu dữ liệu là số nguyên.8 Viết chương trình nhập vào tiền lương chính, phụ cấp và số ngày đi làm trong tháng, in ra màn hình Lương chính nhận được theo công thức: Trang 18 Bản Thảo Lập trình cơ bản với Python Bài 2: BIỂU THỨC ĐIỀU KIỆN Mục tiêu: - Làm quen với Biểu thức điều kiện 1 chiều, 2 chiều - Làm quen phép toán so sánh - Làm quen với cách viết Script theo biểu thức điều kiện - Cấu trúc bắt ngoại lệ Nội dung chính: - Điều kiện if - Điều kiện if … else - Điều kiện if … elif … else - Biểu thức điều kiện - try … except 1. Phép toán so sánh Phép toán Ký Sử dụng Kết quả hiệu So sánh bằng == a == b True/False So sánh khác != a != b True/False So sánh nhỏ hơn < a < b True/False So sánh nhỏ hơn <= a <= b True/False hay bằng So sánh lớn hơn > a > b True/False So sánh lớn hơn >= a >= b True/False hay bằng IS is a is b Trả về true nếu các biến ở hai bên toán tử cùng trỏ tới một đối tượng(hoặc cùng giá trị), ngược lại là false IS Not is not a is not b Ngược lại với is Trang 19 Bản Thảo Lập trình cơ bản với Python Thí dụ 1: Thí dụ Kết quả 5 == 4 False 5 != 4 True 5 < 4 False 5 <= 4 False 5 > 4 True 5 >= 4 True Thí dụ 2: x=5 y=5 print(x is y) Kết quả: True Thí dụ 3: x=5 y=5 print(x is not y) Kết quả: False 2.
Phép toán and và or Phép toán Giá trị True and True True True and False False False and True False False and False False True or True True True or False True False or True True False or False False Trang 20 Bản Thảo Lập trình cơ bản với Python 3. Độ ưu tiên toán tử Python có ràng buộc thứ tự ưu tiên của các toán tử. Bảng dưới đây trình bày thứ tự ưu tiên từ cao đến thấp. Thứ tự Toán tử Miêu tả ưu tiên 1 ** Toán tử mũ Phép nhân, chia, lấy phần dư 2 * / % // và phép chia lấy phần nguyên 3 + – Toán tử Cộng, Trừ 4 <= < > >= Các toán tử so sánh 5 <> == != Các toán tử so sánh = %= /= //= -= 6 Các toán tử gán += *= **= 7 is, is not Các toán tử so sánh 8 not, or, and Các toán tử Logic Lưu ý: Trong thực tế khi lập trình, để câu lệnh tường minh, rõ ràng, lập trình viên thường dùng cặp ngoặc tròn () để nó rõ nghĩa hơn.
Điều kiện if if Biểu thức điều kiện: Câu lệnh* Câu lệnh* được thực hiện khi “Biểu thức điều kiện” có giá trị True. Thí dụ 2: Trang 21 Bản Thảo Lập trình cơ bản với Python x = 5 if x < 10: print ("Smaller") if x > 20: print ("Bigger") print ("Finis") Kết quả: Smaller Finis 5. Điều kiện if … else if Biểu thức điều kiện: Câu lệnh 1 else: Câu lệnh 2 Câu lệnh 1 được thực hiện khi “Biểu thức điều kiện” có giá trị True, Câu lệnh 2 được thực hiện khi “Biểu thức điều kiện” có giá trị False. Thí dụ 3: x = 5 if x < 2: print ("Smaller") else: Trang 22 Bản Thảo Lập trình cơ bản với Python print ("Bigger") print ("All done") 6.
Điều kiện if … elif … else if Biểu thức điều kiện 1: Câu lệnh 1 elif Biểu thức điều kiện 2: Câu lệnh 2 … elif Biểu thức điều kiện n Câu lệnh n else: Câu lệnh else Thí dụ 4: x = int (input ('Nhap mot so nguyen: ')) if x < 2: print 'small' elif x < 10: print 'Medium' else: print 'LARGE' print 'All done' Trang 23 Bản Thảo Lập trình cơ bản với Python 7. Biểu thức điều kiện Với biểu thức điều kiện if … else như thí dụ sau: if a > b: max=a else: max=b Bạn có thể viết ngắn gọn như sau: max = a if (a > b) else b Lưu ý: Nếu bạn đang sử dụng các ngôn ngữ lập trình như C/C++; VB, .NET hay Java thì cú pháp trên sẽ là: max = (a > b) ? a : b Thí dụ 5: >>> max = 3 if (3 > 5) else 5 Kết quả: 5 8. Cấu trúc try … catch Đôi khi câu lệnh xảy ra lỗi trong lúc thi thực như thí dụ dưới đây: astr = input ('Nhap so nguyen: ') istr = int(astr) print ('So vua nhap ', istr) Trang 24 Bản Thảo Lập trình cơ bản với Python Nếu script trên khi thực thi, giá trị nhập vào không phải là số thì sẽ báo lỗi như sau: Lý do xảy ra lỗi: Trong thí dụ trên, chuỗi hello nhập từ bàn phím được gán cho biến astr. Ở dòng tiếp theo, biến astr được chuyển thành giá trị số nguyên thông qua hàm int(astr).
Tuy nhiên trong trường hợp này biến astr không thể nào chuyển sang dạng số được vì giá trị đang là hello. Nên khi chương trình thực hiện đến dòng đó sẽ báo lỗi Invalid literal for int(), lỗi giá trị chuỗi không hợp lệ để chuyển sang định dạng số. Vậy khi nào không bị lỗi: Bạn sẽ không bị lỗi trong trường hợp bạn phải nhập đúng giá trị dạng số như minh họa dưới đây khi người dùng nhập vào cho chuỗi astr là 5. Tuy nhiên, chương trình viết như trên sẽ không phù hợp với người dùng, chương trình phải đảm bảo xử lý được tất cả các trường hợp mà có thể xảy ra khi người dùng sử dụng, nghĩa là phải xem xét đến các khả năng mà người dùng xử lý sai và đưa ra các chỉ dẫn phù hợp.
Để xử lý cho trường hợp này ta có thể dùng khối lệnh try … except được hỗ trợ trong python. Cú pháp như sau: try: Câu lệnh có khả năng sinh ra các ngoại lệ except: Câu lệnh xử lý trong trường hợp lỗi xảy ra Trang 25 Bản Thảo Lập trình cơ bản với Python Trở lại thí dụ, giả sử ta mong muốn xử lý lỗi theo hướng mặc định gán giá trị là -1 khi người dùng nhập vào phát sinh lỗi, cú pháp xử lý như sau: astr = input ('Nhap so nguyen: ') try: istr = int(astr) except: istr = -1 print 'Done', istr Trang 26 Bản Thảo Lập trình cơ bản với Python BÀI TẬP CHƯƠNG 2 Bài 2.1 Không lập trình, hãy xem đoạn script sau và cho biết kết quả: a = 5 b = 7 print ('a > b', a > b) print ('a < b', a < b) print ('a >= b', a >= b) print ('a <= b', a <= b) print ('a == b', a == b) print ('a < b or a!= b',a < b or a != b) print ('a > b and a!= b',a < b and a != b) Bài 2.2 Cho đoạn script sau: x = a if x > 2: print 'Bigger than 2' print 'Still bigger' print 'Done with 2' a. Theo bạn, với giá trị a bằng bao nhiêu thì đoạn script trên in ra màn hình kết quả: Bigger than 2 Still bigger Done with 2 Trang 27 Bản Thảo Lập trình cơ bản với Python b. Theo bạn, với giá trị a bằng bao nhiêu thì đoạn script trên in ra màn hình kết quả: Done with 2 Bài 2.3 Viết chương trình nhập vào hai số a, b; giải và biện luận phương trình ax + b = 0 Gợi ý: sử dụng hàm int (string) để chuyển dữ liệu từ định dạng chuỗi sang định dạng số.
Thí dụ: a = int (input('Nhap a: ')) Bài 2.4 Viết chương trình nhập vào ba số a, b, c; giải và biện luận phương trình ax2+ bx + c = 0 Bài 2.5 Viết chương trình nhập vào lương cơ bản, số năm công tác, in ra tiền lương hàng tháng có tính số % phụ cấp thâm niên theo công thức: Lương hàng tháng = lương cơ bản + phụ cấp thâm niên Nếu số năm công tác dưới 5 năm: phụ cấp thâm niên 0% Nếu số năm công tác trên 5 năm, phụ cấp thâm niên được tính theo % số năm công tác. Thí dụ người A có 6 năm thâm niên, vậy phụ cấp thâm niên của A là 6% * lương cơ bản.6 Viết chương trình nhập vào năm sinh, in ra tuổi. Lưu ý nếu năm sinh nhập vào không hợp lệ (giá trị âm, hoặc lớn hơn năm hiện tại, hoặc giá trị nhập vào là chuỗi) thì hiện thị ra thông báo đồng thời gán giá trị mặc định là năm hiện tại.7 Giá cước taxi được tính theo công thức: 1km đầu tiên tính từ lúc lên xe: 13000 đồng. Mỗi km tiếp theo được tính theo đơn giá là 12000 đồng.
Từ km 30 trở lên, mỗi km được tính là 9000 đồng. Trang 28 Bản Thảo Lập trình cơ bản với Python Hãy viết chương trình nhập vào số km đã đi và in ra giá tiền cần phải thanh toán.8 Tổng số giờ làm việc được quy định cho một nhân viên trong tuần là 40 giờ, nếu người lao động làm nhiều hơn số giờ quy định, thì mỗi giờ hơn sẽ được tính là 1. Hãy nhập vào tiền lương của 1 giờ, số giờ làm việc trong tuần, in ra tiền lương sẽ được trả trong tuần.9 Viết chương trình nhập vào năm sinh (namsinh), in ra tuổi (tuoi). Lưu ý nếu năm sinh nhập vào không hợp lệ (giá trị âm, hoặc lớn hơn năm hiện tại, hoặc giá trị nhập vào là chuỗi) thì hiện thị ra thông báo đồng thời gán giá trị mặc định là năm hiện tại.