Trong bài thôn để ghi dữ liệu ra màn hình ta sử dụng lệnh
Để in dữ liệu ra màn hình ta sử dụng câu lện print(). Ví dụ Show print('In dòng này ra màn hình ') a = 5 print('Giá trị được gán cho a là', a) input() 2. Nhập dữ liệu từ bàn phímĐể nhận một giá trị được nhập từ bàn phím ta sử dụng lệnh input(). Ví dụ: Viết chương trình tính tổng 2 số nguyên được nhập từ bàn phím. num1 = int(input()) num2 = int(input()) sum = num1 + num2 print(sum) input() Ghi chú: mặc định, nếu không khai báo kiểu dữ liệu nhập vào thì Python sẽ nhận giá trị nhập từ bàn phím ở dạng xâu (string). Vì vậy dể nhập số ta phải khai báo kiểu dữ liệu trước khi nhập như câu lệnh số 1 và câu lệnh số 2 ở chương trình trên. 3. Định dạng dữ liệu và thông báoHiện thông báo khi nhập và in: num1 = input('Nhập số thứ nhất: ') num2 = input('Nhập số thứ hai: ') sum = int(num1) + int(num2) print('Tổng của hai số vừa nhập là:', sum) print('Tổng của {0} và {1} là {2}'.format(num1, num2, sum)) print('Tổng của {1} và {0} là {2}'.format(num1, num2, sum)) input() Hãy xem sự khác nhau giữa 3 lệnh print() trên đây khi chạy chương trình. Câu lệnh print thứ 2 và 3 có sử dụng định dạng dữ liệu để lồng vào thông báo. Kết quả chạy chương trình:
Bài thực hành python
Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.08 MB, 34 trang ) Bài tập thực hành: Lập trình căn bản với Python – Biên soạn: Nguyễn Thị Hải Năng print('* LẬP TRÌNH CĂN BẢN *') print('* Ngôn ngữ: PYTHON *') print('* Số Tín Chỉ: 3 *') print('************************************') Nhận xét: Các lỗi thường gặp khi soạn thảo code Viết sai print Thiếu dấu nháy đơn để kết thúc chuỗi hoặc dấu đóng ngoặc Bài 2 Xây dựng chương trình nhập vào hai số a, b từ bàn phím, sau đó tính tổng và in kết quả ra màn hình. Xác định yêu cầu bài toán - Dữ liệu nhập vào: hai số a, b - Dữ liệu xuất ra: Tổng a+b - Cách làm: Xác định các biến vào/ra/trung gian trong bài toán. Biến vào a, b kiểu số (số nguyên hoặc thực); Biến ra tong kiểu số và cùng kiểu vơia a/b. + Bước 1: Nhập hai số a, b từ bàn phím + Bước 2: Sử dụng toán tử + để tính tổng hai số + Bước 3: In kết quả ra màn hình Chương trình minh họa a=float(input('Nhập vào số a: ')) 2 Bài tập thực hành: Lập trình căn bản với Python – Biên soạn: Nguyễn Thị Hải Năng b=float(input('Nhập vào số b: ')) print(a+b) Nhận xét: Các lỗi thường gặp khi soạn thảo code Thiếu chuyển đổi kiểu dữ liệu cho a sang kiểu số nguyên Viết sai biểu thức ép kiểu Bài 3 Xây dựng chương trình nhập vào hai số a, n từ bàn phím, sau đó tính an và in kết quả ra màn hình. Xác định yêu cầu bài toán - Dữ liệu nhập vào: hai số a, n - Dữ liệu xuất ra: an - Cách làm: Xác định các biến vào/ra/trung gian trong bài toán. Biến vào a, n kiểu số (Giả sử chọn a và n kiểu số nguyên); Biến ra an kiểu float (Có thể khai báo biến hoặc xuất trực tiếp ra màn hình, trong bài này chọn cách thứ 2) + Bước 1: Nhập hai số a, n từ bàn phím. + Bước 2: Sử dụng toán tử a**n trong để tính an + Bước 3: In kết quả ra màn hình Chương trình minh họa a=float(input('Nhập vào số a: ')) n=float(input('Nhập vào số n: ')) print(a**n) Kết quả chạy chương trình với giá trị nhập vào là a=2 và n=4 Bài 4 Xây dựng chương trình nhập sử dụng thư viện math lấy giá trị hằng số Pi, nhập giá trị bán kính và in chu vi diện tích của hình tròn tương ứng ra màn hình. Xác định yêu cầu bài toán - Dữ liệu nhập vào: số r - Dữ liệu xuất ra: CV=2*Pi*r và DT=Pi*r*r với Pi=math.Pi - Cách làm: + Import thư viện math + Xác định các biến vào/ra/trung gian trong bài toán gồm: Pi, CV, DT + Bước 1: import thư viện: import math + Bước 2: Nhập bán kính r=(float)raw() + Bước 3: Sử dụng các hàm hay giá trị hằng cần thiết mà math hỗ trợ như: math.pi để tính CV, DT và hiển thị kết quả ra màn hình Chương trình minh họa import math r=float(input('Nhap bán kính r=')) print('Chu vi hình tròn là: ',2*math.pi*r) 3 Bài tập thực hành: Lập trình căn bản với Python – Biên soạn: Nguyễn Thị Hải Năng print('Diện tích hình tròn là: ',math.pi*r*r ) Kết quả chạy chương trình với giá trị nhập vào là r=1 Nhận xét: Các lỗi thường gặp khi soạn thảo code Viết toán tử nhân sai như: 2Pi*r Viết sau math.Pi, math.PI do chưa có ý thức đầy đủ về viết hoa thường. BÀI TẬP TỰ LÀM Bài 1 Xây dựng chương trình hiển thị ra màn hình menu như sau: F1: Nhap F5: Tim kiếm theo ten F2: Nhap them F6: Hiển thị học sinh gioi F3: Doc tep F7: Thong ke F4: Hien thi ESC: Thoat Bài 2 Xây dựng chương trình hiển thị ra màn hình các dấu sao tạo thành hình như sau: a b ***** * * * * * * * * * ***** ******* Bài 3 Xây dựng chương trình giới thiệu về bạn: tên, tuổi, ngày tháng năm sinh, địa chỉ, nghề nghiệp, sở thích và một số thông tin khác. Bài 4 Mở rộng bài mẫu 2 cho phép chương trình nhập tài khoản sau “Tai khoan:” và mật khẩu từ bàn phím sau “Mat khau:“ Bài 5 Xây dựng chương trình sumi giúp người và máy tính nói chuyện với nhau về: tên, tuổi, giới tính, số điện thoại, email, địa chỉ, nghề nghiệp, sở thích, sở trường và một số thông tin khác. Bài 6: Viết chương trình nhập vào kích thước chiều dài của một hình chữ nhật, hiển thị ra màn hình chu vi và diện tích của hình chữ nhật đó. Bài 7: Viết chương trình nhập vào kích thước chiều dài cạnh của một hình vuông, hiển thị ra màn hình chu vi và diện tích của hình vuông đó. Bài 6: Viết chương trình nhập vào kích thước độ dài bán kính của một hình tròn, hiển thị ra màn hình chu vi và diện tích của hình tròn đó. 4 Bài tập thực hành: Lập trình căn bản với Python – Biên soạn: Nguyễn Thị Hải Năng Bài Thực hành 2- Cấu trúc điều khiển MỤC TIÊU Trình bày được cú pháp các câu lệnh nhập/xuất Trình bày được cú pháp các câu lệnh rẽ nhánh: if khuyết, if else và if elif Mô tả được hoạt động của các cấu trúc rẽ nhánh Đưa ra được điểm khác nhau của lệnh rẽ nhánh if, if else và if elif Lựa chọn được cấu trúc rẽ nhánh thích hợp và vận dụng linh hoạt trong khi xây dựng chương trình Phân tích được cú pháp của các cấu trúc lặp: while, for So sánh được điểm giống và khác nhau giữa các dạng lệnh Sử dụng thành thạo các câu lệnh lặp để thể hiện giải thuật Vận dụng được để viết các chương trình theo yêu cầu. BÀI TẬP CÓ LỜI GIẢI Bài 1 Xây dựng chương trình nhập vào một số từ bàn phím, kiểm tra xem số đó là số đó có chia hết cho 2 hay không và in kết quả ra màn hình. Xác định yêu cầu bài toán: - Dữ liệu nhập vào: a - Dữ liệu xuất ra: a chia hết cho 2 hoặc a không chia hết cho 2 - Cách làm: Xác định các biến vào/ra/trung gian trong bài toán gồm biến nhập vào a kiểu số nguyên + Bước 1: Nhập một số nguyên từ bàn phím (giả sử đặt tên là a) + Bước 2: Kiểm tra số a có chia hết cho 2 hay không (dùng toán tử %, a chia hết cho 2 thì a chia 2 dư 0, ngược lại a chia 2 dư 1) + Bước 3: Dùng cấu trúc điều khiển if…else để kiểm tra o Nếu số a%2==0 thì in ra thông báo: đây là số chẵn o Ngược lại thì in ra thông báo: đây là số lẻ Chương trình minh họa a=int(input('Nhập vào số a: ')) if a%2==0: print(a, 'là số chẵn') else: print(a, 'là số lẻ') Nhận xét: Các lỗi thường gặp khi soạn thảo code 5 Bài tập thực hành: Lập trình căn bản với Python – Biên soạn: Nguyễn Thị Hải Năng Thiếu chuyển đổi kiểu dữ liệu cho a sang kiểu số nguyên Viết sai toán tử kiểm tra bằng == thành = Thiếu dấu : để bắt đầu khối các lệnh con Câu lệnh con không viết thụt lùi đầu dòng Bài 2 Xây dựng chương trình nhập vào một số nguyên dương N sau đó tính tổng N số nguyên dương đầu tiên. Xác định yêu cầu bài toán - Dữ liệu nhập vào: N nguyên dương - Dữ liệu xuất ra: S=1+2+3+…..+N - Cách làm: o Bước 1: Nhập số nguyên dương N o Bước 2: Áp dụng cấu trúc lặp for để duyệt từ 1N, tại mỗi lần duyệt cộng giá trị vào viết S o Bước 3: In kết quả ra màn hình Chương trình minh họa n=int(input('Nhập vào số nguyên n: ')) s=0 for i in range(1,n+1,1): s+=i print(s) Nhận xét: Các lỗi thường gặp khi soạn thảo code Viết hàm range sai hoặc không cho đúng giá trị yêu cầu, như range(n), range(1,n,1) Viết biểu thức lặp sai 1 2 1 3 Bài 3 Tìm n nhỏ nhất để S>a lớn hơn a, a nhập vào từ bàn phím. Biết S 1 ... 1 n Xác định yêu cầu bài toán - Dữ liệu nhập vào: Số thực a - Dữ liệu xuất ra: n thỏa điều kiện. - Cách làm: o Bước 1: Nhập số thực a o Bước 2: Khởi gán giá trị cho biến lưu trữ s=0 và n=0. o Bước 3: Dùng cấu trúc lặp while để duyệt từ 1N, tại mỗi vòng lặp tăng n và cộng thêm 1/n vào biến lưu trữ s, kiểm tra nếu s thỏa điều kiện>a thì thoát khỏi vòng lặp và in kết quả ra màn hình. 6 Bài tập thực hành: Lập trình căn bản với Python – Biên soạn: Nguyễn Thị Hải Năng Chương trình minh họa a=float(input('Nhập vào số nguyên a: ')) n=0 s=0 while(s<=a): n+=1 s+=1/n print('Giá trị n nhỏ nhất để s>',a,' là: n=',n,'Khi đó s=',s) Nhận xét: Các lỗi thường gặp khi soạn thảo code Thiếu chuyển đổi kiểu dữ liệu cho a sang kiểu số Thiếu dấu : để bắt đầu khối các lệnh con Hai câu lệnh con n+=1 và s+=1/n không thẳng lề trái Chưa phân biệt rõ ràng kiểu dữ liệu số và kiểu dữ liệu chuỗi Bài 4 Xây dựng chương trình ĐĂNG NHẬP có giao diện như bài 1. Cho phép người dùng nhập tên tài khoản và mật khẩu tối đa 3 lần. Nếu tài khoản = “CSKTLT” và mật khẩu=”fit@123” thì hiển thị “DANG NHAP THANH CONG”. Nếu cả 3 lần nhập thông tin tên tài khoản và mật khẩu chưa đúng thì hiển thị “DANG NHAP THAT BAI” Gợi ý xác định yêu cầu bài toán Dữ liệu nhập vào: tk, mk Dữ liệu xuất ra: “DANG NHAP THANH CONG” hoặc “DANG NHAP THAT BAI” Cách làm: Xác định các biến vào/ra/trung gian trong bài toán gồm biến nhập vào tk, mk kiểu string; biến trung gian dem để đếm số lần người dùng nhập tk, mk. Dùng lệnh lặp while với điều kiện lặp là dem<3 tức khi dem>=3 thì thoát, công việc lặp gồm: Nhập tk, mk; kiểm tra xem đăng nhập xem có thành công không?; Cuối cùng là kiểm tra xem đã quá số lần nhập sai trong giới hạn cho phép là 3 hay chưa? o Bước 1: Sử dụng lệnh lặp với điều kiện lặp là dem<3 o Bước 2: Viết công việc lặp Hiển thị “Tai khoan:” và nhập giá trị cho biến tk, sử dụng cú pháp xuất dữ liệu ra màn hình Write(" Tai khoan: "); Hiển thị “Mat khau: " nhập giá trị cho biến mk Dùng cấu trúc rẽ nhánh if để kiểm tra nếu (tk== "CSKTLT" && mk == "fit@123”) đúng thì xuất dữ liệu ra màn hình “DANG NHAP THANH CONG” Xác định yêu cầu bài toán 7 Bài tập thực hành: Lập trình căn bản với Python – Biên soạn: Nguyễn Thị Hải Năng - Dữ liệu nhập vào: Số thực a - Dữ liệu xuất ra: n thỏa điều kiện. - Cách làm: o Bước 1: Nhập số thực a o Bước 2: Khởi gán giá trị cho biến lưu trữ s=0 và n=0. o Bước 3: Dùng cấu trúc lặp while để duyệt từ 1N, tại mỗi vòng lặp tăng n và cộng thêm 1/n vào biến lưu trữ s, kiểm tra nếu s thỏa điều kiện>a thì thoát khỏi vòng lặp và in kết quả ra màn hình. Chương trình minh họa dem=0 while(dem<3): print('Lần đăng nhập thứ: ', dem + 1) tk = input('Nhap tai khoản: ') mk = input('Nhap Mật khẩu: ') if(tk== 'python' and mk == 'fit@123'): print('DANG NHAP THANH CONG') break else: dem+=1 Nhận xét: Các lỗi thường gặp khi soạn thảo code Viết sai tên toán tử quan hệ ==, toán tử and Tổ chức các lệnh con trong vòng lặp while Quên không tăng giá trị cho biến đếm số lần đăng nhập Dùng cấu trúc rẽ nhánh Không viết lệnh break Bài 5 Xây dựng chương trình nhập vào số N, rồi kiểm tra xem N có phải là số nguyên tố hay không. Phân tích bài toán - Dữ liệu nhập vào: Số nguyên n - Dữ liệu xuất ra: Có/không - Cách làm: - Bước 1: Nhập số nguyên dương N sử dụng cú pháp vào ra - Bước 2: Số nguyên tố là số chỉ có hai ước số là 1 và chính nó. Như vậy, nếu trong khoảng từ 2 đến √N không tồn tại một ước số nào của N (số ước=0), thì N là số nguyên tố. - Bước 3: Giả sử dùng biến chạy i, duyệt i từ (2) đến √N (có thể chọn cận trên là N/2 hoặc N-1 cũng được) với bước nhảy là 1. Kiểm tra số N có chia hết cho i hay không, 8 Bài tập thực hành: Lập trình căn bản với Python – Biên soạn: Nguyễn Thị Hải Năng nếu có thì in kết quả ra màn hình N không là số nguyên tố và thoát; Nếu số ước=0 thì N là số nguyên tố. Chương trình minh họa import math N= int(input('Nhap số nguyên dương N= ')) i=2 souoc=0 while (i<=math.sqrt(N)): if(N%i==0): break else: souoc+=1 i+=1 if(souoc==0): print(N, ' là số nguyên số') else: print(N, ' là hợp số') Cách giải quyết khác Bài này có thể dùng kỹ thuật cờ để giải quyết - Bước 1. Lúc đầu mặc định N là số nguyên tố (phất cờ); - Bước 2. (lặp) Kiểm tra nếu N có ước khác 1 hoặc chính nó thì N là số nguyên tố (hạ cờ xuống); - Bước 3. Cuối cùng kiểm tra trạng thái cờ: Nếu cờ đang phất thì đúng N là số nguyên tố; Nếu cờ đã bị hạ xuống thì sai N không là số nguyên tố. Chương trình minh họa import math N= int(input('Nhap số nguyên dương N= ')) i=2 ok=True while (i<=math.sqrt(N)): if(N%i==0): ok=False break i+=1 if(ok): print(N, ' là số nguyên số') else: print(N, ' là hợp số') 9 Bài tập thực hành: Lập trình căn bản với Python – Biên soạn: Nguyễn Thị Hải Năng Bài tập tự làm Bài 1 Viết chương trình quản lý tiền điện của một hộ với các thông tin sau: họ tên một chủ hộ, chỉ số điện kế tháng trước (chiso1) và chỉ số điện kế tháng này (chiso2), tính tiền điện tháng này cho hộ, biết rằng : - Mỗi kw trong 60 kw đầu tiên có đơn gía là 5đ, Từ kw thứ 61 đến kw thứ 160 có đơn giá 8đ, Từ kw thứ 161 trở lên có đơn gía 10đ. Gợi ý: Bước 1: Nhập vào chiso1 và chiso2 Bước 2: Tính số KW của tháng bằng cách: soKW=chiso2-chiso1 Bước 3: Dùng cấu trúc if để kiểm tra + Nếu soKW<=60sotien=soKW*5 + Nếu 61<=soKW<=160tính số KW vượt quá 60. Vậy số tiền sẽ được tính như sau: sotien=60*5+soKWvuot*8 + Nếu 161<=soKW tính số KW vượt quá 161. Vậy số tiền sẽ được tính như sau: Sotien=60*5+100*8+soKWvuot*10 - Bước 4: In kết quả ra màn hình Bài 2 Xây dựng chương trình giải phương trình bậc 2: ax2+bx+c=0 (với a,b,c nhập từ bàn phím) Gợi ý: - Bước 1: Nhập các hệ số của phương trình bậc hai - Bước 2: Sử dụng cấu trúc if…else để giải bài toán + Đầu tiên kiểm tra hệ số a, nếu a=0kết luận đây không là phương trình bậc hai, ngược lại tính delta như sau: delta=b*b-4*a*c + Kiểm tra giá trị của delta: Nếu delta<0kết luận phương trình vô nghiệm Nếu delta=0phương trình có nghiệm kép x=-b/(2*a) Nếu delta>0phương trình có hai nghiệm phân biệt: X1=-(b+sqlt(delta))/(2*a) X2=-(b-sqlt(delta))/(2*a) - Bước 3: In kết quả ra màn hình Bài 3 Xây dựng chương trình nhập một tháng, cho biết tháng đó thuộc mùa nào (Xuân, Hạ, Thu, Ðông), biết rằng tháng 2, 3, 4 là mùa Xuân, tháng 5, 6, 7: mùa Hè, tháng 8, 9, 10: mùa Thu, và tháng 11, 12, 1: mùa Ðông. Gợi ý: - Bước 1: nhập vào một số từ bàn phím () 10 Bài tập thực hành: Lập trình căn bản với Python – Biên soạn: Nguyễn Thị Hải Năng - Bước 2: Sử dụng cấu trúc if elif để kiểm tra + Trường hợp: 2,3,4thông báo đây là mùa xuân + Trường hợp: 5,6,7thông báo đây là mùa hè + Trường hợp: 28,9,10thông báo đây là mùa thu + Trường hợp: 11,12,1thông báo đây là mùa đông - Bước 3: In kết quả ra màn hình Bài 4 Viết chương trình nhập vào số nguyên N (0 |