500 CÂU HỎI TRẮC NGHIỆM PYTHON LỚP 11,10 – 2022 2023(có kèm đáp án và bản word). Giúp các Thầy Cô soạn đề kiểm tra giữa kì 2 môn Tin học 10 mà không mất thời gian. Câu hỏi vừa sức với học sinh ở các cấp độ, Nhận biết, thông hiểu, vận dụng, vận dụng cao. ĐỀ CƯƠNG PYTHON-LỚP 10,11 – 2022-2023 MỤC LỤC BÀI 1 LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH 2 BÀI 2 CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH 5 BÀI 3 NGÔN NGỮ LẬP TRÌNH PYTHON 7 BÀI 4 NHẬP, XUẤT VÀ CHƯƠNG TRÌNH PYTHON ĐẦU TIÊN 11 BÀI 5 KHAI BÁO BIẾN.
Trang 1BÀI 1 LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH 2
BÀI 2 CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH 5
BÀI 3 NGÔN NGỮ LẬP TRÌNH PYTHON 7
BÀI 4 NHẬP, XUẤT VÀ CHƯƠNG TRÌNH PYTHON ĐẦU TIÊN 11
BÀI 5 KHAI BÁO BIẾN 14
BÀI 6 DỮ LIỆU KIỂU SỐ 15
BÀI 7 CÁC TOÁN TỬ CƠ BẢN 19
BÀI 8 CẤU TRÚC RẼ NHÁNH 23
BÀI 9 CẤU TRÚC LẶP 32
BÀI 10 KIỂU MẢNG(LIST) 39
BÀI 11 KIỂU XÂU 48
BÀI 12 HÀM 53
BÀI 13 TỆP 60
Trang 2BÀI 1 LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
Câu 1 Hãy chọn phương án ghép phù hợp nhất Ngôn ngữ lập trình là gì:
A phương tiện để soạn thảo văn bản trong đó có chương trình;
B ngôn ngữ Pascal hoặc C;
C phương tiện diễn đạt thuật toán để máy tính thực hiện công việc;
D phương tiện diễn đạt thuật toán;
Câu 2 Phát biểu nào dưới đây chắc chắn sai?
Câu 3 Phát biểu nào sau đây chắc chắn sai?
A Mọi bài toán đều có thể giải được bằng máy tính;
B Chương trình là một mô tả thuật toán bằng một ngôn ngữ lập trình;
C Không thể viết được chương trình để giải một bài toán nếu như không biết thuật toán để giải bài toán đó;
D Một bài toán có thể có nhiều thuật toán để giải;
Câu 4 Phát biểu nào sau đây chắc chắn sai?
A Để giải bài toán bằng máy tính phải viết chương trình mô tả thuật toán giải bài toán đó;
B Mọi người sử dụng máy tính đều phải biết lập chương trình;
C Máy tính điện tử có thể chạy các chương trình;
D Một bài toán có thể có nhiều thuật toán để giải;
Câu 5 Hãy chọn phương án ghép đúng Ngôn ngữ lập trình là ngôn ngữ
A cho phép thể hiện các dữ liệu trong bài toán mà các chương trình sẽ phải xử lí;
B dưới dạng nhị phân để máy tính có thể thực hiện trực tiếp;
C diễn đạt thuật toán để có thể giao cho máy tính thực hiện;
D có tên là “ngôn ngữ thuật toán” hay còn gọi là “ngôn ngữ lập trình bậc cao” gần với ngôn ngữ toán học cho phép mô tả cách giải quyết vấn đề độc lập với máy tính;
Câu 6 Hãy chọn phương án ghép đúng Ngôn ngữ máy là
A bất cứ ngôn ngữ lập trình nào mà có thể diễn đạt thuật toán để giao cho máy tính thực hiện
B ngôn ngữ để viết các chương trình mà mỗi chương trình là một dãy lệnh máy trong hệ nhị phân;
C các ngôn ngữ mà chương trình viết trên chúng sau khi dịch ra hệ nhị phân thì máy có thể chạy được;
D diễn đạt thuật toán để có thể giao cho máy tính thực hiện;
Câu 7 Hãy chọn phương án ghép đúng Hợp ngữ là ngôn ngữ
A mà máy tính có thể thực hiện được trực tiếp không cần dịch;
Trang 3B có các lệnh được viết bằng kí tự nhưng về cơ bản mỗi lệnh tương đương với một lệnh máy Để chạy được cần dịch ra ngôn ngữ máy;
C mà các lệnh không viết trực tiếp bằng mã nhị phân;
D không viết bằng mã nhị phân, được thiết kế cho một số loại máy có thể chạy trực tiếp dưới dạng kí tự
Câu 8 Hãy chọn phương án ghép sai Ngôn ngữ lập trình bậc cao là ngôn ngữ
A thể hiện thuật toán theo những quy ước nào đó không phụ thuộc vào các máy tính cụ thể;
B mà máy tính không hiểu trực tiếp được, chương trình viết trên ngôn ngữ bậc cao trước khi chạy phải dịch sang ngôn ngữ máy;
C có thể diễn đạt được mọi thuật toán;
D sử dụng từ vựng và cú pháp của ngôn ngữ tự nhiên (tiếng Anh);
Câu 9 Phát biểu nào dưới đây chắc chắn sai?
A Chương trình dịch cho phép chuyển chương trình viết bằng một ngôn ngữ lập trình nào đó sang chương trình trên ngôn ngữ máy để máy có thể thực hiện được
mà vẫn bảo toàn được ngữ nghĩa của chương trình nguồn;
B Chương trình dịch giúp người lập trình có thể lập trình trên một ngôn ngữ lập trình gần với ngôn ngữ tự nhiên hơn, do đó giảm nhẹ được nỗ lực lập trình, tăng cường hiệu suất lập trình;
C Chương trình dịch giúp tìm ra tất cả các lỗi của chương trình;
D Một ngôn ngữ lập trình có thể có cả chương trình thông dịch và chương trình biên dịch;
Câu 10 Phát biểu nào dưới đây là sai khi nói về biên dịch và thông dịch?
A Chương trình dịch của ngôn ngữ lập trình bậc cao gọi là biên dịch còn thông dịch là chương trình dịch dùng với hợp ngữ;
B Một ngôn ngữ lập trình có thể có cả chương trình thông dịch và chương trình biên dịch;
C Thông dịch lần lượt dịch và thực hiện từng câu lệnh còn biên dịch phải dịch trước toàn bộ chương trình sang mã nhị phân thì mới có thể thực hiện được;
D Biên dịch và thông dịch đều kiểm tra tính đúng đắn của câu lệnh;
Câu 11 Phát biểu nào dưới đây là đúng?
A Mỗi ngôn ngữ lập trình bậc cao đều có đúng một chương trình dịch;
B Chương trình dịch gồm hợp dịch, thông dịch, biên dịch;
C Máy tính chỉ nhận biết được kí tự 0 và kí tự 1 nên chương trình bằng ngôn ngữ máy cũng phải được dịch sang mã nhị phân;
D Một ngôn ngữ lập trình bậc cao có thể có nhiều chương trình dịch khác nhau;
Câu 12 Chương trình viết bằng hợp ngữ không có đặc điểm nào trong các đặc điểm sau:
A Dễ lập trình hơn so với ngôn ngữ bậc cao
B Tốc độ thực hiện nhanh hơn so với chương trình được viết bằng ngôn ngữ bậc cao
C Gần với ngôn ngữ máy
D Sử dụng trọn vẹn các khả năng của máy tính
Câu 13 Chương trình dịch không có khả năng nào trong các khả năng sau?
A Phát hiện được lỗi ngữ nghĩa
Trang 4B Phát hiện được lỗi cú pháp
C Thông báo lỗi cú pháp
D Tạo được chương trình đích
Câu 14 Chương trình dịch là chương trình có chức năng
A Chuyển đổi chương trình được viết bằng ngôn ngữ lập trình bậc cao thành chương trình thực hiện được trên máy
B Chuyển đổi chương trình được viết bằng ngôn ngữ lập trình Pascal thành chương trình thực hiện được trên máy
C Chuyển đổi chương trình được viết bằng ngôn ngữ máy thành chương trình thực hiện được trên máy
D Chuyển đổi chương trình được viết bằng ngôn ngữ lập trình bậc cao thành chương trình hợp ngữ
Câu 15 Phát biểu nào dưới đây đúng?
A Chương trình là dãy các lệnh được tổ chức theo các quy tắc được xác định bởi ngôn ngữ lập trình cụ thể
B Trong chế độ thông dịch, mỗi câu lệnh của chương trình nguồn được dịch thành một câu lệnh của chương trình đích
C Mọi bài toán đều có chương trình để giải trên máy tính
D Nếu chương trình nguồn có lỗi cú pháp thì chương trình đích cũng có lỗi cú pháp
ĐÁP ÁN
1 C 2 B 3 A 4 B 5 C 6 B 7 B 8 D 9 A 10 A
11 D 12 A 13 A 14 A 15 A
Trang 5BÀI 2 CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH Câu 1 Phát biểu nào dưới đây là đúng?
A Ngữ nghĩa trong ngôn ngữ lập trình phụ thuộc nhiều vào ý muốn của người lập trình tạo ra;
B Mỗi ngôn ngữ lập trình đều có 3 thành phần là bảng chữ cái, cú pháp và ngữ nghĩa, nên việc khai báo kiểu dữ liệu, hằng, biến,… được áp dụng chung như nhau cho mọi ngôn ngữ lập trình;
C Cú pháp của một ngôn ngữ lập trình là bộ quy tắc cho phép người lập trình viết chương trình trên ngôn ngữ đó;
D Các ngôn ngữ lập trình đều có chung một bộ chữ cái;
Câu 2 Phát biểu nào dưới đây là đúng?
A Ngoài bảng chữ cái, cú pháp, ngữ nghĩa, một ngôn ngữ lập trình còn có các quy tắc để khai báo biến, hằng,…;
B Ngoài bảng chữ cái, có thể dùng các kí tự thông dụng trong toán học để viết chương trình;
C Chương trình có lỗi cú pháp có thể được dịch ra ngôn ngữ máy nhưng không thực hiện được;
D Cú pháp là bộ quy tắc dùng để chương trình;
Câu 3 Chọn ý kiến đúng trong các ý kiến sau đây:
A Chương trình cho kết quả đúng khi thực hiện đủ 20 test / 20 test thì chương trình đó đúng;
B Chương trình cho kết quả sai khi thực hiện 1 test thì chương trình đó sai;
C Bộ test với kích thước dữ liệu lớn có nhiều khả năng phát hiện lỗi sai của chương trình hơn là các bộ test với kích thước dữ liệu nhỏ;
D Khi dịch chương trình không thấy lỗi thì có thể kết luận chương trình là đúng
Câu 4 Phát biểu nào dưới đây là hợp lí nhất?
A Tên gọi là đại lượng nhận giá trị trước khi chương trình thực hiện
B Tên gọi là đại lượng được đặt tên và có giá trị thay đổi trong quá trình thực hiện chương trình
C Tên gọi có thể lưu trữ nhiều loại giá trị khác nhau
D Tên gọi do người lập trình tự đặt theo quy tắc do từng ngôn ngữ lập trình xác định
Câu 5 Hãy chọn biểu diễn tên đúng trong những biểu diễn sau
Câu 6 Tên nào không đúng trong ngôn ngữ Python
Câu 7 Bằng 2 chữ cái A và B, người ta có thể viết được mấy tên đúng có độ dài không quá 2 chữ cái
Câu 8 Trong Python, các chú thích trên 1 dòng được đặt như sau ký tự nào?
Câu 9 Trong những biểu diễn dưới đây, biểu diễn nào là từ khóa trong Python?
Câu 10 Khái niệm nào sau đây là đúng về tên dành riêng?
Trang 6A Tên dành riêng là tên do người lập trình đặt
B Tên dành riêng là tên đã được NNLT qui định dùng với ý nghĩa riêng xác định, không được sử dụng với ý nghĩa khác
C Tên dành riêng là tên đã được NNLT qui định đúng với ý nghĩa riêng xác định,
có thể được định nghĩa lại
D Tên dành riêng là các hằng hay biến
Câu 11 Khai báo nào sau đây là đúng về tên chuẩn?
A Tên chuẩn là tên do người lập trình đặt
B Tên chuẩn là tên đã được NNLT qui định dùng với ý nghĩa riêng xác định, không được sử dụng với ý nghĩa khác
C Tên chuẩn là tên đã được NNLT qui định dùng với ý nghĩa riêng xác định, có thể được định nghĩa lại
D Tên chuẩn là các hằng hay biến
Câu 12 Trong tin học, hằng là đại lượng
A Có giá trị thay đổi trong quá trình thực hiện chương trình
B Có giá trị không thay đổi trong quá trình thực hiện chương trình
C Được đặt tên
D Có thể thay đổi giá trị hoặc không thay đổi giá trị tùy thuộc vào bài toán
Câu 13 Các thành phần của ngôn ngữ lập trình là
A Chương trình thông dịch và chương trình biên dịch
B Chương trình dịch, bảng chữ cái, cú pháp, ngữ nghĩa
C Bảng chữ cái, cú pháp, ngữ nghĩa
D Tên dành riêng, tên chuẩn và tên do người lập trình định nghĩa
Câu 14 Các thành phần cơ bản của ngôn ngữ lập trình gồm:
A Bảng chữ cái, tên, ngữ nghĩa B Bảng chữ cái, hằng, ngữ nghĩa
Trang 7BÀI 3 NGÔN NGỮ LẬP TRÌNH PYTHON Câu 1: Khẳng định nào sau đây về Python là đúng?
A Python là một ngôn ngữ lập trình cấp cao
B Python là một ngôn ngữ thông dịch
C Python là ngôn ngữ lập trình hướng đối tượng
D Tất cả các đáp án đều đúng
Câu 2: Kí hiệu nào dùng để xác định các khối lệnh (khối lệnh của hàm, vòng lặp, ) trong Python?
Câu 3: Khẳng định nào là đúng về chú thích trong Python?
A Chú thích giúp cho các lập trình viên hiểu rõ hơn về chương trình
B Trình thông dịch Python sẽ bỏ qua những chú thích
C Có thể viết chú thích trên cùng một dòng với lệnh/biểu thức hoặc viết trên nhiều dòng mà không vấn đề gì cả
D Tất cả các đáp án trên
Câu 4: Đâu là quy tắc đúng khi đặt tên cho biến trong Python?
A Tên biến có thể bắt đầu bằng dấu gạch dưới " _ "
B Có thể sử dụng từ khóa làm tên biến
C Tên biến có thể bắt đầu bằng một chữ số
D Tên biến có thể có các ký hiệu như !, @, #, $, %,
Câu 5: Để chú thích trên nhiều dòng, Python sử dụng cặp ký hiệu:
A Cặp dấu nháy đơn(‘ ’) B Cặp dấu nháy kép(“ ”)
C 1 dấu nháy kép và 1 dấu nháy đơn(“ ’ ’ ”)
D Cặp 3 dấu nháy đơn liên tiếp(’’’ ’’’)
Câu 6: Ký hiệu \ trong Python có ý nghĩa gì?
A Viết câu lệnh trên nhiều dòng B Nối các ký tự
Câu 7: Ký kiệu ; trong Python dùng để làm gì
A Ngăn cách nhiều câu lệnh trên 1 dòng
B Kết thúc câu lệnh
C Kết thúc 1 dòng lệnh
D Thể hiện còn phần tiếp theo của câu lệnh ở dòng tiếp theo
Câu 8: Tên trong Python:
A Phân biệt chữ hoa, chữ thường
B Không phân biệt chữ hoa, chữ thường
Câu 10: Đâu là từ khóa trong Python?
Trang 8Câu 11: Trong ngôn ngữ Python, từ khóa import dùng để
A Khai báo hằng B Khai báo biến C Khai báo lớp D Khai báo thư viện
Câu 12: Khẳng định nào sau đây về Python là đúng?
A Python là ngôn ngữ lập trình cấp cao
B Python là một ngôn ngữ thông dịch
C Python là ngôn ngữ lập trình hướng đối tượng
D Tất cả các đáp án đều đúng
Câu 13: Trong ngôn ngữ Python, tên nào sau đây là tên dành riêng:
A program, sqr B uses, var C include, const D if, else
Câu 14: Kí hiệu nào dùng để xác định các khối lệnh (khối lệnh của hàm, vòng lặp, ) trong Python?
Câu 15: Khẳng định nào là đúng về chú thích trong Python?
A Chú thích giúp cho các lập trình viên hiểu rõ hơn về chương trình
B Trình thông dịch Python sẽ bỏ qua những chú thích
C Có thể viết chú thích trên cùng một dòng với lệnh/biểu thức hoặc viết trên nhiều dòng mà không vấn đề gì cả
D Tất cả các đáp án trên
Câu 16: Đâu là quy tắc đúng khi đặt tên cho biến trong Python?
A Tên biến có thể bắt đầu bằng dấu gạch dưới " _ "
B Có thể sử dụng keyword làm tên biến
C Tên biến có thể bắt đầu bằng một chữ số
D Tên biến có thể có các ký hiệu như !, @, #, $, %,
Câu 17: Từ khoá của một ngôn ngữ lập trình là:
A là những từ dành riêng
B cho một mục đích sử dụng nhất định
C cho những mục đích sử dụng nhất định
D là những từ dành riêng cho một mục đích sử dụng nhất định
Câu 18: Trong ngôn ngữ lập trình, từ khóa và tên:
A Có ý nghĩa như nhau
B Người lập trình phải tuân theo qui tắc của ngôn ngữ lập trình đó
C Có thể trùng nhau
D Các câu trên đều đúng
Câu 19: Trong ngôn ngữ Python, tên nào sau đây đặt SAI theo quy tắc đặt tên
Câu 20: Chương trình Python dưới đây đúng hay sai?
print("Xin chào năm 2021") # lệnh in ra màn hình
Câu 21: Cho đoạn chương trình sau: x=10; y=30; print(‘x+y’)
Kết quả in ra màn hình sẽ là gì?
Trang 9Câu 22: Chạy code sau trong Python, kết quả là:
num = '5'*'5'
D TypeError: can't multiply sequence by non-int of type 'str'
Câu 23: Hàm nào sau đây là hàm tích hợp sẵn trong Python
Câu 24: Hãy chọn phương án ghép đúng Ngôn ngữ máy là
A bất cứ ngôn ngữ lập trình nào mà có thể diễn đạt thuật toán để giao cho máy tính thực hiện
B ngôn ngữ để viết các chương trình mà mỗi chương trình là một dãy lệnh máy trong hệ nhị phân;
C các ngôn ngữ mà chương trình viết trên chúng sau khi dịch ra hệ nhị phân thì máy có thể chạy được;
D diễn đạt thuật toán để có thể giao cho máy tính thực hiện;
Câu 25: Hãy chọn phương án ghép đúng Hợp ngữ là ngôn ngữ
A mà máy tính có thể thực hiện được trực tiếp không cần dịch;
B có các lệnh được viết bằng kí tự nhưng về cơ bản mỗi lệnh tương đương với một lệnh máy Để chạy được cần dịch ra ngôn ngữ máy;
C mà các lệnh không viết trực tiếp bằng mã nhị phân;
D không viết bằng mã nhị phân, được thiết kế cho một số loại máy có thể chạy trực tiếp dưới dạng kí tự
Câu 26: Hãy chọn phương án ghép sai Ngôn ngữ lập trình bậc cao là ngôn ngữ
A thể hiện thuật toán theo những quy ước nào đó không phụ thuộc vào các máy tính cụ thể;
B mà máy tính không hiểu trực tiếp được, chương trình viết trên ngôn ngữ bậc cao trước khi chạy phải dịch sang ngôn ngữ máy;
C có thể diễn đạt được mọi thuật toán;
D sử dụng từ vựng và cú pháp của ngôn ngữ tự nhiên (tiếng Anh);
Câu 27: Chương trình dịch là chương trình có chức năng
A Chuyển đổi chương trình được viết bằng ngôn ngữ lập trình bậc cao thành chương trình thực hiện được trên máy
B Chuyển đổi chương trình được viết bằng ngôn ngữ lập trình Pascal thành chương trình thực hiện được trên máy
C Chuyển đổi chương trình được viết bằng ngôn ngữ máy thành chương trình thực hiện được trên máy
D Chuyển đổi chương trình được viết bằng ngôn ngữ lập trình bậc cao thành chương trình hợp ngữ
Câu 28: Phần mở rộng nào sau đây là đúng của tệp Python?
Câu 29: Thứ tự thực hiện các phép tính trong Python ở đáp án nào đúng?
Câu 30: Phát biểu nào sau đây sai khi nói về python?
A Python là ngôn ngữ lập trình bậc cao
B Python có mã nguồn mở thu hút được nhiều nhà khoa học cùng phát triển
Trang 10C Python có các lệnh phức tạp nên không phổ biến trong giáo dục
D Python có các câu lệnh khá gần ngôn ngữ tự nhiên
ĐÁP ÁN
11 D 12 D 13 D 14 C 15 D 16 A 17 D 18 B 19 A 20 A
21 D 22 D 23 D 24 B 25 B 26 D 27 A 28 C 29 B 30 C
Trang 11BÀI 4 NHẬP, XUẤT VÀ CHƯƠNG TRÌNH PYTHON ĐẦU TIÊN Câu 1: Lệnh nào dùng để lấy dữ liệu đầu vào từ người dùng?
Câu 2: Lệnh nào dùng để in kết quả ra màn hình?
Câu 3: Toán tử gán trong Python được thể hiện bằng toán tử nào
Câu 4: Dòng lệnh a=b=c=10 có nghĩa là:
A Câu lệnh sai cú pháp
B Cả a,b,c đều được gán cho 10
C c được gán cho 10 còn a,b không có tác dụng
D Tổng ba số a,b,c bằng 10
Câu 5: Toán tử += có nghĩa là:
A Toán tử này cộng rồi gắn giá trị cho đối tượng
B Toán tử này gắn giá trị cho đối tượng rồi cộng thêm vào
C Toán tử này gắn giá trị cho đối tượng
D Sai cú pháp
Câu 6: Toán tử -= có nghĩa là:
A Toán tử này trừ rồi gắn giá trị cho đối tượng
B Toán tử này gắn giá trị cho đối tượng rồi trừ đi
C Toán tử này gắn giá trị cho đối tượng
D Sai cú pháp
Câu 7: Toán tử *= có nghĩa là:
A Toán tử này nhân rồi gắn giá trị cho đối tượng
B Toán tử này gắn giá trị cho đối tượng rồi nhân lên
C Toán tử này gắn giá trị cho đối tượng
D Sai cú pháp
Câu 8: Toán tử /= có nghĩa là:
A Toán tử này chia rồi gắn giá trị cho đối tượng
B Toán tử này gắn giá trị cho đối tượng rồi chia đi
C Toán tử này gắn giá trị cho đối tượng
D Sai cú pháp
Câu 9: Toán tử %= có nghĩa là:
A Toán tử này chia lấy phần dư rồi gắn giá trị cho đối tượng
B Toán tử này gắn giá trị cho đối tượng rồi chia hết
C Toán tử này gắn giá trị cho đối tượng
D Sai cú pháp
Câu 10: Toán tử **= có nghĩa là:
A Toán tử này lũy thừa rồi gắn giá trị cho đối tượng
B Toán tử này gắn giá trị cho đối tượng rồi lũy thừa
C Toán tử này gắn giá trị cho đối tượng
D Sai cú pháp
Câu 11: Toán tử //= có nghĩa là:
A Toán tử này chia lấy nguyên rồi gắn giá trị cho đối tượng
Trang 12B Toán tử này gắn giá trị cho đối tượng rồi chia lấy nguyên
C Toán tử này gắn giá trị cho đối tượng
D Sai cú pháp
Câu 12: Đưa dữ liệu ra màn hình ta dùng thủ tục nào :
Câu 13: Viết lệnh nhập giá trị vào từ bàn phím cho số nguyên a
A a=input() B a = int(input()) C a=float(input()) D a = int(Input())
Câu 14: Kết quả đúng của chương trình bên là?
c = input() print(type(c))
A <class 'int'> B <class 'str'> C <class 'bool'> D <class 'float'>
Câu 15: Cho biết kết quả in ra màn hình của lệnh print("Xin","Chào")
Câu 16: Lệnh xuất ra màn hình nào sau đây là đúng
Câu 19: Em hãy cho biết kết quả in ra của chương trình sau?
x=25 y=4 print(x,end='') print(y)
Câu 20: Em hãy cho biết kết quả in ra của chương trình sau?
x=25 y=4 print(x,y)
Câu 21: Output của lệnh sau là:
print(1, 2, 3, 4, sep='*')
Câu 22: Lệnh nào dùng để lấy dữ liệu đầu vào từ người dùng?
Câu 23: Số phát biểu đúng trong các phát biểu sau
Trang 131) Cú pháp lệnh input() : <biến> :=input(<Dòng thông báo>)
2) Lệnh print() có chức năng đưa dữ liệu ra thiết bị chuẩn, thường là bàn phím 3) Lệnh input() có chức năng nhập dữ liệu thường từ bàn phím
4) Thông tin cần đưa ra có thể gồm nhiều kiểu dữ liệu khác nhau, cho phép cả biểu thức tính toán
Câu 24: Kết quả của dòng lệnh sau
x=6.7 type(x)
Câu 25: Lệnh nào dùng để nhận biết kiểu dữ liệu của biến trong python?
Câu 26: Xác định kiểu của biểu thức sau?
“34 + 28 – 45 ”
Câu 27: Xác định kiểu và giá trị của biểu thức sau
4 + 5*6-34 >5*8-2
Câu 28: Câu lệnh sau bị lỗi không?
int(10.5)
Câu 29: Để nhập giá trị số thực cho biến x bạn An viết câu lệnh như sau:
x = input(“Nhập số thực x: ”) Câu lệnh trên đúng theo yêu cầu đặt ra chưa?
A Chương trình chạy đúng B Chương trình báo lỗi không chạy
C Không xác định được lỗi
D Chương trình vẫn chạy nhưng không đúng yêu cầu đặt ra
Câu 30: Kết quả của câu lệnh sau là gì?
Trang 14BÀI 5 KHAI BÁO BIẾN Câu 1: Đâu là quy tắc đúng khi đặt tên cho biến trong Python?
A Tên biến có thể bắt đầu bằng dấu gạch dưới " _ "
B Có thể sử dụng keyword làm tên biến
C Tên biến có thể bắt đầu bằng một chữ số
D Tên biến có thể có các ký hiệu như !, @, #, $, %,
Câu 2: Trong ngôn ngữ Python, tên nào sau đây đặt SAI theo quy tắc đặt tên
Câu 3: Chương trình Python dưới đây đúng hay sai?
print("Xin chào năm 2021") # lệnh in ra màn hình
print(a) # in giá trị của a
Câu 4: Lệnh gán giá trị cho biến b nguyên nào sau đây là đúng
Câu 5: Trường hợp nào sau đây không phải là lệnh gán trong Python:
Câu 6: Tên biến nào sau đây là đúng trong Python
Câu 7: Tìm điểm sai trong khai báo biến nguyên Max sau đây ?
Max ==2021
A Dư dấu bằng (=) B Tên biến không được nhỏ hơn 4 kí tự
C Dư dấu hai chấm (:) D Không có đáp án đúng
Câu 8: Để gán giá trị cho một biến số A ta thực hiện như thế nào
Câu 11: Tên biến nào sau đây là đúng trong Python
Câu 12: Để gán giá trị cho một biến số A ta thực hiện như thế nào
Trang 15BÀI 6 DỮ LIỆU KIỂU SỐ Câu 1: Trong các kiểu dữ liệu dưới đây, kiểu nào là kiểu nguyên?
Câu 2: Viết lệnh nhập giá trị vào từ bàn phím cho số nguyên a
A a=input() B a = int(input()) C a=float(input()) D a = int(Input())
Câu 3: Kết quả đúng của chương trình bên là?
c = input() print(type(c))
A <class 'int'> B <class 'str'> C <class 'bool'> D <class 'float'>
Câu 4: Chương trình bên in ra màn hình các kết quả nào?
a = 87
b = a%10 + a//10 print(b)
Câu 5: Cho biết kết quả của chương trình sau:
x=3 x+=2 print(x)
Câu 6: Cho a là số nguyên dương được nhập vào từ bàn phím Chương trình sau
in ra?
a = int(input()) print(a%10)
Câu 7: Cho biết kết quả của chương trình sau:
x=15 x/=2 print(x)
Câu 8: Em hãy cho biết kết quả của chương trình sau?
x=25 y=4 print(x//y)
Câu 9: Em hãy cho biết kết quả in ra của chương trình sau?
x=25 y=4 print(x,end='') print(y)
Câu 10: Em hãy cho biết kết quả in ra của chương trình sau?
x=25 y=4
Trang 16print(x,y)
Câu 11: Em hãy cho biết kết quả in ra của chương trình sau?
x=25 y=4 z=x-y*4/2 print(z)
Câu 12: n trong đoạn sau là kiểu dữ liệu nào?
n='12345'
Câu 13: Để viết 3 mũ 4 trong Python ta chọn
A A được gán giá trị là 9 B A được gán giá trị là 6
C A được gán giá trị là 3.0 D A được gán giá trị là 3
Câu 19: Cho biết kết quả của -8//3 ?
Câu 20: Cho x là biến thực đã được gán giá trị 12.41235 Để thực hiện lên màn hình nội dung “x=12.41” cần chọn câu lệnh nào sau đây
A print(x :5 :2); B print(round(x,2)) C print(x:2); D print(x)
Câu 21: Cho đoạn chương trình sau: x=10; y=30; print(‘x+y’)
Ta thu được kết quả nào ?
Câu 23: Chạy code sau trong Python, kết quả là:
num = '5'*'5'
D TypeError: can't multiply sequence by non-int of type 'str'
Câu 24: Kết quả của lệnh print(round(4.567)) là?
Trang 17A 4 B 4.5 C 5 D 4.6
Câu 25: Hàm pow(x,y,z) được diễn giải là:
Câu 26: Kết quả của lệnh print(round(4.5659,2)) là?
Câu 27: Kết quả của chương trình dưới đây là?
import math print(abs(math.sqrt(25)))
Câu 31: Hàm nào sau đây chỉ chấp nhận số nguyên làm tham số?
Câu 32: Điền một lệnh còn thiếu vào chương trình sau để được chương trình đúng tính diện tích hình tròn biết bán kính r cho trước
r=15
… print(“diện tích hình tròn = “,s)
A s=3.14*R*R B s=3.14*r*r C s=3.14*R*r D s=3,14*r*r
Câu 33: Điền một lệnh còn thiếu vào chương trình sau để được chương trình đúng tính độ dài cạnh huyền c của tam giác vuông khi biết hai cạnh góc vuông a=7, b=9
A print(x:5:2); B print(round(x,2)) C print(x:2); D print(x)
Câu 35: Kết quả của lệnh print(round(4.567)) là?
Câu 36: Kết quả của lệnh print(round(4.5659,2)) là?
Câu 37: Kết quả của lệnh print(any([2>8, 4>2, 1>2])) là?
# hàm any() trả về True nếu bất kỳ phần tử nào của một iterable là True
Câu 38: Kết quả của chương trình dưới đây là?
import math print(abs(math.sqrt(25)))
Trang 18Câu 41: Hàm nào sau đây chỉ chấp nhận số nguyên làm tham số?
Câu 42: Kết quả của lệnh print(float('123456\n')) là ?
Câu 43: Kết quả của lệnh print(ord('A')) là ?
Câu 44: Kết quả của lệnh print(float('-infinity')) là ?
(infinity trong toán học là một số vô cùng lớn, cụ thể ở đây là dương vô
cùng +∞, tương tự chúng ta có số âm vô cùng −∞, hai số này được định nghĩa trong Python dưới dạng kiểu dữ liệu float, hai số vô cùng lớn trong Python chỉ là biệt danh nên a=float(inf) ; b=float(inf) ; print(a/b) # =nan (not a number))
Trang 19BÀI 7 CÁC TOÁN TỬ CƠ BẢN Câu 1 Để tính diện tích đường tròn bán kính R, với pi=3.14, biểu thức nào trong Python là đúng:
Câu 10 Biểu thức a*x**3 + b*x + c khi chuyển sang toán học sẽ có dạng:
Trang 20B (a-b)>(c-d); (1/x-y)>=2*x; b*b>a*c;
C (a-b)>(c-d); (a-b)<>(b-a); 12*a>5a;
D (a-b)**0.5>x; (1/x-y)>=2*x; 15*a>5;
Câu 15 Cho x=2, viết lệnh tăng x lên 1 đơn vị trong Python?
Câu 16 Hãy cho biết kết quả của đoạn chương trình sau:
x=2021 print((x%4==0 and x%100!=0) or x%400==0)
Câu 20 Xác định kết quả sau khi thực hiện lệnh sau: A= 3*3/9**0.5
A A được gán giá trị là 9 B A được gán giá trị là 6
C A được gán giá trị là 3.0 D A được gán giá trị là 3
Câu 21 Cho biết kết quả của -8//3 ?
Câu 22 Cho biết kết quả của (2024%4==0 and 2024%100!=0)
Câu 23 Biểu thức α≤a≤β được biểu diễn trong Python là:
A (α<=a) or (a<=β) B (α<=a) and (a<=β)
Câu 24 Thực hiện chương trình Python sau đây :
N = 645 ; A = N % 10 ; N = N // 10
A = A + N // 10 ; A = A + N % 10 print(A)
Ta thu được kết quả nào ?
Câu 25 Hàm div, mod(a, b) trong đó a và b là những số nguyên được diễn giải là:
A (a%b, a//b) B (a%b, a/b) C (a//b, a%b) D (a/b, a%b)
Câu 26 Em hãy cho biết kết quả in ra của chương trình sau?
x=25 y=4 z=x-y*4/2 print(z)
Câu 27 Câu lệnh sử dụng toán tử and trả về kết quả TRUE khi nào?
A Cả hai toán hạng đều là TRUE B Cả hai toán hàng đều là FALSE
C Một trong hai toán hạng là TRUE D Toán hạng đầu tiên là TRUE
Trang 21Câu 28 Output của lệnh là:
print(3>=3)
Câu 29 Điền một lệnh còn thiếu vào chương trình sau để được chương trình đúng tính diện tích hình tròn biết bán kính r cho trước
r=15
… print(“diện tích hình tròn = “,s)
A s=3.14*R*R B s=3.14*r*r C s=3.14*R*r D s=3,14*r*r
Câu 30 Điền một lệnh còn thiếu vào chương trình sau để được chương trình đúng tính độ dài cạnh huyền c của tam giác vuông khi biết hai cạnh góc vuông a=7, b=9
C a=7; b=5; print(a//b) D a=7; b=5; print(a/b)
Câu 32 Chương trình bên in ra màn hình các kết quả nào?
a = 87
b = a%10 + a//10 print(b)
Câu 33 Cho biết kết quả của chương trình sau:
x=3 x+=2 print(x)
Câu 34 Cho a là số nguyên dương được nhập vào từ bàn phím Chương trình sau
in ra?
a = int(input()) print(a%10)
Câu 35 Cho biết kết quả của chương trình sau:
x=15 x/=2 print(x)
Câu 36 Em hãy cho biết kết quả của chương trình sau?
x=25 y=4
Trang 22print(x//y)
Câu 37 Điều kiện {𝒙 ≥ 𝟐
𝒙 < 𝟓 trong Python được biểu diễn bằng biểu thức nào:
Trang 23BÀI 8 CẤU TRÚC RẼ NHÁNH Câu 1 Hãy cho biết giá trị của biến X bằng bao nhiêu sau khi thực hiện câu lệnh:
print("bye bye")
Câu 4 Đoạn chương trình sau in ra kết quả nào?
a=21; b=11
if a%b==0:
print(“YES”) else:
print(“NO”)
Câu 5 Đoạn chương trình sau in ra kết quả nào?
x=9; y=5
if x<y:
tg=x; x=y; y=tg else:
tg=x; x=y; y=tg print(x,y)
Câu 6 Các câu lệnh Python nào sau đây được viết đúng:
A if x== 5: a = 1 B if x > 4; a = 1
C if x > 4: a = 1 else a = 2 D if x > 4: a = 1 else: a:=2
Câu 7 Để tìm giá trị lớn nhất của 2 số a, b thì ta viết:
Trang 24Câu 8 Hãy chọn cách dùng sai Muốn dùng biến X lưu giá trị nhỏ nhất trong các giá trị của hai biến A, B có thể dùng cấu trúc rẽ nhánh như sau:
A if A B C > 0: print() B if (A > 0) & (B > 0) & (C > 0): print()
C if A>0 & B>0 & C>0: print() D if (A>0) | (B>0) | (C>0): print()
Câu 10 Cho đoạn chương trình:
x=2; y=3
if x > y: F= 2*x - y else:
if x==y: F= 2*x else: F= x*x + y*y print(F)
Sau khi thực hiện đoạn chương trình trên, giá trị F là:
A F=13 B F=1
C F=4 D Không xác định
Câu 11 Cho câu lệnh sau
if (x**2+y**2<=26) and (y>=x) : z=x+y
else:
z=0.5 với x=1, y=5 thì ?
A z có giá trị bằng 1 B z có giá trị bằng 6
C z có giá trị bằng 5 D z có giá trị bằng 0.5
Câu 12 Cho đoạn chương trình sau
if a>8: b = 3 else: b = 5
Khi a nhận giá trị là 0 thì b nhận giá trị nào?
Câu 15 Kết quả nào là output của đoạn code dưới đây?
x = True; y = False; z = False
Trang 25if not x or y:
print(1) elif not x or not y and z:
print(2) elif not x or y or not y and x:
print(3) else :
print(4)
Câu 16 Hãy chọn phương án ghép đúng nhất Để mô tả cấu trúc rẽ nhánh trong thuật toán, ngôn ngữ lập trình Python dùng câu lệnh if, sau if là <điều kiện> Điều kiện là
A biểu thức lôgic; B biểu thức số học;
C biểu thức quan hệ; D một câu lệnh;
Câu 17 Hãy chọn phương án ghép đúng Với cấu trúc rẽ nhánh
if <điều kiện> :
<câu lệnh>
<câu lệnh> đứng sau: được thực hiện khi
A điều kiện được tính toán xong;
B điều kiện được tính toán và cho giá trị đúng;
C điều kiện không tính được;
D điều kiện được tính toán và cho giá trị sai;
Câu 18 Hãy chọn phương án ghép đúng Với cấu trúc rẽ nhánh
if <điều kiện>:
<câu lệnh 1>
else:
<câu lệnh 2>
câu lệnh 2 được thực hiện khi
A biểu thức điều kiện đúng và câu lệnh 1 thực hiện xong;
B câu lệnh 1 được thực hiện;
C biểu thức điều kiện sai;
D biểu thức điều kiện đúng;
Câu 19 Hãy chọn cách dùng sai Muốn dùng biến X lưu giá trị nhỏ nhất trong các giá trị của hai biến A, B có thể dùng cấu trúc rẽ nhánh như sau:
A if A < B : X= A; B if A < B: X= A
C if A < B then X:= A; D if A < B : X:= A
Câu 20 Phát biểu nào sau đây có thể lấy làm biểu thức điều kiện trong cấu trúc
rẽ nhánh?
A A + B B A > B C N mod 100 D “A nho hon B”
Câu 21 Phát biểu nào sau đây có thể lấy làm biểu thức điều kiện trong cấu trúc
rẽ nhánh?
A 100 > 99 B “A > B” C “A nho hon B” D “false”
Câu 22 Chọn phát biểu sai trong các phát biểu sau đây:
A Để mô tả việc lặp đi lặp lại một số thao tác (hoặc câu lệnh) trong một thuật toán ta
có thể dùng cấu trúc lặp
B Tùy từng trường hợp cụ thể (khi mô tả một thuật toán), khi thì ta biết trước số lần lặp, khi thì ta không cần hoặc không xác định được trước số lần lặp các thao tác nào đó
Trang 26C Có thể dùng cấu trúc lặp để thay cho cấu trúc rẽ nhánh trong mô tả thuật toán
D Không thể mô tả được mọi thuật toán bằng ngôn ngữ lập trình bậc cao nếu không dùng cấu trúc lặp
Câu 23 Trong ngôn ngữ lập trình Python, câu lệnh nào sau đây là đúng?
A if <điều kiện> : <câu lệnh> B If <điều kiện>: <câu lệnh>
C If <điều kiện> then <câu lệnh>; D If <điều kiện> : <câu lệnh >;
Câu 24 Trong ngôn ngữ lập trình Python, câu lệnh nào sau đây là đúng?
A If < điều kiện >
<câu lệnh 1>
else
<câu lệnh 2>;
B If < điều kiện >: <câu lệnh 1> else <câu lệnh 2>
C If < điều kiện > then <câu lệnh 1> else <câu lệnh 2>;
D If <điều kiện>:
<câu lệnh 1>
else:
<câu lệnh 2>
Câu 25 Trong ngôn ngữ lập trình Python, câu lệnh nào sau đây là đúng?
A If a == 5 : a:= d + 1 else a:= d + 2
D If a == 5 then a:= d + 1 else a:= d + 2;
Câu 26 Trong ngôn ngữ lập trình Python, câu lệnh nào sau đây là đúng?
A If a == 5: a:= d + 1; b:= 2 else: a:= d + 2;
Trang 27C M nhận cả hai giá trị trên D M không nhận giá trị nào
Câu 30 Trong ngôn ngữ lập trình Python, phát biểu nào sau đây là đúng với câu lệnh rẽ nhánh if…:…else:…?
A Nếu sau else muốn thực hiện nhiều câu lệnh thì các câu lệnh phải đặt giữa hai cặp dấu ngoặc nhọn;
B Nếu sau else muốn thực hiện nhiều câu lệnh thì các câu lệnh phải đặt giữa hai dấu ngoặc đơn;
C Nếu sau else muốn thực hiện nhiều câu lệnh thì mỗi câu lệnh phải đặt trên một dòng
và thụt vào đầu dòng giống nhau
D Nếu sau else muốn thực hiện nhiều câu lệnh thì các câu lệnh phải đặt giữa Begin và End
Câu 31 Trong quá trình thực hiện thuật toán, khi nào cần dùng cấu trúc rẽ nhánh?
A Khi phải dựa trên một điều kiện cụ thể nào đó để xác định bước thực hiện tiếp theo
Lỗi sai trong đoạn chương trình trên là:
A Nhóm lệnh không lùi vào một số vị trí so với dòng chứa điều kiện
B Thiếu dấu chấm sau mỗi câu lệnh
Trang 28C Không viết hoa chữ cái đầu của mỗi dòng
D Không có dấu kết thúc câu
Câu 33 Trong Python, với cấu trúc if – else thì <câu lệnh hay nhóm câu lệnh 1> được thực hiện khi:
A Điều kiện sai B Điều kiện đúng
C Điều kiện bằng 0 D Điều kiện khác 0
Câu 34 Đâu là phép tính logic
Câu 35 Chọn phát biểu đúng?
Cho biểu thức: x or y
A Cho kết quả là False khi và chỉ khi x và y đều nhận giá trị False
B Cho kết quả là True khi x và y đều nhận giá trị True
C Đảo giá trị của x và y cho nhau
D Cho kết quả là False khi và chỉ khi x hoặc y nhận giá trị False
Câu 36 Câu lệnh if trong chương trình Python có dạng:
B Một biểu thức nhận giá trị logic 0 hoặc 1
C Một biểu thức nhận giá trị logic True hoặc False
D Một biểu thức so sánh
Câu 38 Câu lệnh nào sau đây viết đúng:
1 if a>b print(a)
Câu 39 Trong Python, câu lệnh if <câu lệnh hay nhóm câu lệnh> sẽ thực hiện khi:
A <Điều kiện> sai B <Điều kiện> đúng
C <Điều kiện> bằng 0 D <Điều kiện> khác 0
Câu 40 Phát biểu nào sau đây là sai?
A Các ngôn ngữ lạp trình bậc cao đều có câu lệnh thể hiện cấu trúc rẽ nhánh
B Điều kiện trong câu lệnh rẽ nhánh có thể là phép gán
C Trong cấu trúc if hoặc if-else câu lệnh hoặc nhóm câu lệnh phải được viết:
Lùi vào trong một số vị trí so với dòng chứa điều kiện và viết thẳng hàng với nhau
D Câu lệnh rẽ nhánh trong Python có 2 dạng cơ bản là if và if-else
Trang 29Câu 41 Cho đoạn chương trình sau:
a=2 b=3
if a>b:
a=a*2 else:
b=b*2
Sau khi thực hiện đoạn chương trình trên giá trị của b là:
Câu 42 <Điều kiện> trong câu lệnh rẽ nhánh là:
A Biểu thức tính toán B Biểu thức logic
C Biểu thức quan hệ D Các hàm toán học
Câu 43 Cho x = 5, y = 10 Hãy cho biết biểu thức logic nào nhận giá trị True
A x+10 >= y+7 B (x>2*y) or (x+y >20)
C (x%5==0) and (y%2==0) D 4*x=3*y
Câu 44 Câu lệnh rẽ nhánh if-else trong chương trình Python có dạng:
A Viết thẳng hàng so với điều kiện
B Lùi vào trong một số vị trí so với dòng chứa điều kiện và không cần viết thẳng hàng với nhau
Trang 30C Chỉ lùi vào trong một số vị trí so với dòng chứa điều kiện khi có nhóm lệnh
D Lùi vào trong một số vị trí so với dòng chứa điều kiện và viết thẳng hàng với nhau
Câu 48 Trong Python, đối với cấu trúc if-else thì <câu lệnh hay nhóm câu lệnh 2> được thực hiện khi:
A Điều kiện sai B Điều kiện đúng
C Điều kiện bằng 0 D Điều kiện khác 0
Câu 49 Phát biểu nào sau đây có thể lấy làm biểu thức điều kiện trong câu lệnh
rẽ nhánh
A A + B B A > B C N // 100 D “A nho hon B”
Câu 50 Viết chương trình để nhập từ bàn phím hai số nguyên a và b, đưa ra màn hình thông báo “Positive” nếu a + b > 0, “Negative” nếu a + b < 0 và “zero” nếu a + b = 0
1 a = int(input("Nhập a: "))
b = int(input("Nhập b: "))
if a + b > 0:
print("Positive") elif a + b < 0:
print("Negative") else:
print("Negative") else:
print(Negative) else: