wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

[Python nâng cao] - Test lý thuyết cuối khóa

Total questions: 65

Worksheet time: 37mins

Name
Class
Date
1.

Trong Python, từ khóa nào được dùng để định nghĩa một hàm mới?

a)

function

b)

define

c)

def

d)

class

2.

Để sử dụng các hàm đã viết trong file database.py sang file main.py, ta dùng câu lệnh nào?

a)

include database

b)

using database

c)

import database

d)

open database

3.

Cấu trúc try...except trong dự án được dùng với mục đích chính là gì?

a)

Để tạo vòng lặp vô hạn

b)

Để bắt lỗi (ví dụ nhập chữ vào ô số) giúp chương trình không bị thoát đột ngột

c)

Để kết nối cơ sở dữ liệu nhanh hơn

d)

Để trang trí giao diện đẹp hơn

4.

Khi lấy dữ liệu từ ô nhập bằng lệnh entry.get(), dữ liệu trả về luôn ở dạng nào?

a)

Số nguyên (Integer)

b)

Số thực (Float)

c)

Danh sách (List)

d)

Chuỗi ký tự (String)

5.

Hàm nào được dùng để thêm một phần tử mới vào cuối danh sách (List) giỏ hàng?

a)

list.add()

b)

list.append()

c)

list.insert()

d)

list.push()

6.

Widget nào trong thư viện ttk được dùng để hiển thị dữ liệu dạng bảng nhiều cột (như Excel)?

a)

Listbox

b)

Label

c)

Treeview

d)

Canvas

7.

Thuộc tính nào dùng để gắn một hàm xử lý sự kiện vào nút bấm (Button)?

a)

click=

b)

on_press=

c)

run=

d)

command=

8.

Để chia ứng dụng thành nhiều thẻ (Tab) như "Kho", "Bán Hàng", ta dùng Widget nào?

a)

ttk.Notebook

b)

tk.Frame

c)

tk.Menu

d)

tk.TabControl

9.

Widget nào cho phép người dùng chọn một giá trị từ danh sách thả xuống (Dropdown list)?

a)

tk.Entry

b)

ttk.Combobox

c)

tk.Radiobutton

d)

tk.Checkbutton

10.

Hàm tree.selection() trả về giá trị gì khi người dùng chọn một dòng trên bảng?

a)

Tên sản phẩm của dòng đó

b)

ID nội bộ (ví dụ 'I001') của dòng được chọn

c)

Số thứ tự dòng (0, 1, 2...)

d)

Giá tiền của dòng đó

11.

Để xóa sạch nội dung trong một ô nhập liệu Entry, ta dùng lệnh nào?

a)

entry.clear()

b)

entry.delete(0, tk.END)

c)

entry.remove()

d)

entry.text = ""

12.

Để xóa sạch nội dung trong một ô nhập liệu Entry, ta dùng lệnh nào?

a)

entry.clear()

b)

entry.delete(0, tk.END)

c)

entry.remove()

d)

entry.text = ""

13.

Hàm messagebox.askyesno(...) thường được dùng trong trường hợp nào?

a)

Thông báo lỗi nhập liệu

b)

Hỏi xác nhận trước khi Xóa hoặc Thanh toán

c)

Hiển thị lời chào khi mở ứng dụng

d)

Nhập dữ liệu từ người dùng

14.

Trong Python sqlite3, đối tượng nào chịu trách nhiệm thực thi các câu lệnh SQL?

a)

connection

b)

commit

c)

cursor

d)

execute

15.

Để thay đổi (trừ) số lượng tồn kho sau khi bán hàng, ta dùng lệnh SQL nào?

a)

INSERT INTO

b)

UPDATE

c)

DELETE FROM

d)

SELECT

16.

Tại sao ta nên dùng dấu ? (ví dụ: VALUES (?, ?)) thay vì cộng chuỗi trực tiếp trong SQL?

a)

Để tránh lỗi bảo mật (SQL Injection) và lỗi định dạng dữ liệu

b)

Để code chạy nhanh hơn gấp đôi

c)

Để tiết kiệm bộ nhớ máy tính

d)

Để Python tự động sửa lỗi chính tả

17.

Sau khi thực hiện lệnh INSERT, UPDATE hoặc DELETE, lệnh nào bắt buộc phải có để lưu thay đổi vĩnh viễn?

a)

cursor.close()

b)

conn.save()

c)

conn.execute()

d)

conn.commit()

18.

Để tìm kiếm các sản phẩm có tên chứa từ khóa "Dell", câu lệnh SQL nào đúng?

a)

WHERE ten_sp = 'Dell'

b)

WHERE ten_sp LIKE '%Dell%'

c)

WHERE ten_sp IS 'Dell'

d)

WHERE ten_sp IN ('Dell')

19.

Hàm SUM(tong_tien) trong câu lệnh SQL dùng để làm gì?

a)

Đếm xem có bao nhiêu đơn hàng

b)

Tính tổng cộng giá trị của cột tong_tien (Doanh thu)

c)

Tính giá trị trung bình

d)

Tìm đơn hàng có giá trị lớn nhất

20.

Câu lệnh ORDER BY gia DESC sẽ sắp xếp dữ liệu như thế nào?

a)

Giá tăng dần (Thấp đến Cao)

b)

Giá giảm dần (Cao xuống Thấp)

c)

Sắp xếp theo Tên A-Z

d)

Không sắp xếp gì cả

21.

Để xóa một sản phẩm cụ thể dựa trên ID, câu lệnh SQL nào đúng?

a)

DELETE FROM san_pham (Xóa hết bảng)

b)

DELETE FROM san_pham WHERE id = ?

c)

REMOVE FROM san_pham WHERE id = ?

d)

DROP TABLE san_pham

22.

Biến trong Python dùng để làm gì?

a)

Để in giá trị ra màn hình

b)

Để lưu trữ giá trị

c)

Để thoát khỏi chương trình

d)

Để thực hiện vòng lặp

23.

Kết quả của lệnh print(10 + "5") trong Python là gì?

a)

15

b)

105

c)

"105"

d)

Lỗi TypeError

24.

Để chương trình thực hiện một hành động nếu điều kiện đúng, ta dùng từ khóa:

a)

for

b)

while

c)

if

d)

def

25.

Vòng lặp nào được ưu tiên sử dụng khi biết trước số lần lặp?

a)

while

b)

for

c)

if

d)

try

26.

Cú pháp để tạo một Danh sách (List) rỗng là:

a)

my_list = ()

b)

my_list = {}

c)

my_list = []

d)

my_list = ""

27.

Phương thức nào dùng để thêm phần tử vào cuối danh sách?

a)

.add()

b)

.append()

c)

.push()

d)

.plus()

28.

Từ điển (Dictionary) lưu trữ dữ liệu theo cơ chế nào?

a)

Theo chỉ số (index) tăng dần

b)

Theo cặp Khóa : Giá trị (Key : Value)

c)

Chỉ lưu trữ chuỗi văn bản

d)

Theo thứ tự thêm vào

29.

Mối quan hệ giữa Class (Lớp) và Object (Đối tượng) là gì?

a)

Class là bản vẽ thiết kế, Object là sản phẩm thực tế

b)

Object là bản vẽ thiết kế, Class là sản phẩm thực tế

c)

Class là thư mục, Object là tệp tin

d)

Class là hàm, Object là biến

30.

Trong Python, phương thức khởi tạo (constructor) có tên là gì?

a)

init

b)

start

c)

int

d)

create

31.

Tham số self trong các phương thức của Class đại diện cho điều gì?

a)

Đại diện cho Lớp (Class)

b)

Đại diện cho chính đối tượng (Instance) đang được gọi

c)

Đại diện cho thư viện Python

d)

Đại diện cho hàm main

32.

Cú pháp đúng để tạo một đối tượng nv1 từ lớp NhanVien là:

a)

nv1 = new NhanVien()

b)

nv1 = NhanVien()

c)

NhanVien nv1 = NhanVien()

d)

nv1 = class NhanVien()

33.

Thuộc tính (Attribute) trong OOP tương ứng với khái niệm nào trong đời sống?

a)

Hành động của vật thể

b)

Đặc điểm, tính chất của vật thể

c)

Tên gọi của vật thể

d)

Số lượng vật thể

34.

Phương thức (Method) trong OOP tương ứng với khái niệm nào?

a)

Đặc điểm của vật thể

b)

Hành động, hành vi của vật thể

c)

Màu sắc của vật thể

d)

Kích thước của vật thể

35.

Để truy cập thuộc tính ten của đối tượng hs1, ta dùng cú pháp:

a)

hs1->ten

b)

hs1.ten

c)

hs1[ten]

d)

hs1(ten)

36.

Phương thức __init__ được chạy khi nào?

a)

Khi chương trình kết thúc

b)

Khi ta gọi hàm print()

c)

Tự động chạy ngay khi tạo đối tượng mới

d)

Phải gọi thủ công mới chạy

37.

Trong đoạn code def __init__(self, ten):, biến ten là gì?

a)

Là thuộc tính của lớp

b)

Là tham số được truyền vào khi tạo đối tượng

c)

Là tên của hàm

d)

Là từ khóa của Python

38.

Để sử dụng Tkinter, ta cần dòng lệnh nào đầu tiên?

a)

import tkinter as tk

b)

import gui

c)

pip install tkinter

d)

in

39.

Widget Label được dùng để làm gì?

a)

Tạo nút bấm

b)

Tạo ô nhập liệu

c)

Hiển thị văn bản hoặc hình ảnh tĩnh

d)

Tạo danh sách chọn

40.

Widget Entry được dùng để làm gì?

a)

Hiển thị kết quả

b)

Cho phép người dùng nhập một dòng văn bản

c)

Cho phép nhập nhiều dòng văn bản

d)

Tạo menu

41.

Phương thức .pack() có tác dụng gì?

a)

Xóa widget khỏi cửa sổ

b)

Đóng gói và đặt widget lên cửa sổ

c)

Thay đổi màu sắc widget

d)

Tạo sự kiện click

42.

Làm thế nào để lấy nội dung text từ một ô Entry tên là txt_ten?

a)

txt_ten.text()

b)

txt_ten.get()

c)

txt_ten.read()

d)

txt_ten.value

43.

Thuộc tính nào của Button dùng để liên kết với một hàm xử lý sự kiện?

a)

click

b)

event

c)

command

d)

run

44.

Để thêm dòng chữ "Xin chào" vào cuối Listbox, ta dùng lệnh:

a)

listbox.add("Xin chào")

b)

listbox.append("Xin chào")

c)

listbox.insert(tk.END, "Xin chào")

d)

listbox.push("Xin chào")

45.

Lệnh root.mainloop() thường nằm ở đâu trong chương trình?

a)

Ở dòng đầu tiên

b)

Ở bên trong hàm xử lý

c)

Ở dòng cuối cùng để giữ cửa sổ hiển thị

d)

Không cần thiết phải có

46.

Nếu muốn xóa toàn bộ nội dung trong ô Entry, ta dùng lệnh:

a)

entry.delete(0, tk.END)

b)

entry.clear()

c)

entry.remove_all()

d)

entry.empty()

47.

Nếu gọi listbox.curselection() mà người dùng KHÔNG chọn gì cả, kết quả là:

a)

None

b)

Số 0

c)

Một tuple rỗng ()

d)

Báo lỗi ngay lập tức

48.

Để tiêu đề cửa sổ hiển thị là "My App", ta dùng lệnh:

a)

root.title("My App")

b)

root.header("My App")

c)

root.name("My App")

d)

root.text("My App")

49.

Ưu điểm chính của SQLite so với list/dictionary là gì?

a)

Truy cập nhanh hơn RAM

b)

Lưu trữ dữ liệu vĩnh viễn ngay cả khi tắt ứng dụng

c)

Code ngắn hơn

d)

Không có ưu điểm gì khác biệt

50.

Thư viện chuẩn của Python để làm việc với SQLite là:

a)

sql

b)

mysql

c)

sqlite3

d)

database

51.

Lệnh SQL nào dùng để Tạo mới một bảng?

a)

NEW TABLE

b)

CREATE TABLE

c)

ADD TABLE

d)

MAKE TABLE

52.

Lệnh SQL nào dùng để Thêm một dòng dữ liệu mới?

a)

ADD DATA

b)

INSERT INTO

c)

UPDATE

d)

PUT INTO

53.

Trong Python, để thực thi một câu lệnh SQL, ta dùng phương thức nào của đối tượng cursor?

a)

.run()

b)

.do()

c)

.execute()

d)

.query()

54.

Sau khi INSERT, DELETE hoặc UPDATE, lệnh nào là bắt buộc để lưu thay đổi xuống file?

a)

.save()

b)

.commit()

c)

.push()

d)

.confirm()

55.

Cụm từ PRIMARY KEY AUTOINCREMENT trong tạo bảng có ý nghĩa gì?

a)

Tạo khóa chính tự động tăng

b)

Tạo mật khẩu cho bảng

c)

Tự động xóa dữ liệu cũ

d)

Cho phép dữ liệu trùng lặp

56.

Để lấy dữ liệu từ bảng ra (Truy vấn), ta dùng lệnh SQL nào?

a)

GET

b)

SEARCH

c)

SELECT

d)

FIND

57.

Điền từ khóa để bắt đầu định nghĩa một hàm mới.

(a)  

58.

Điền từ khóa để duyệt qua các phần tử trong danh sách.

(a)  

59.

Điền tham số đầu tiên bắt buộc của phương thức trong Class (đại diện cho chính đối tượng).

(a)  

60.

Điền phương thức để đặt widget lên cửa sổ ứng dụng.

(a)  

61.

Điền tên thuộc tính để gán hàm xử lý khi nút được bấm.

(a)  

62.

Điền phương thức để lấy văn bản người dùng đã nhập.

(a)  

63.

Điền phương thức để chèn nội dung vào danh sách

(a)  

64.

Điền tên hàm để tạo kết nối đến file cơ sở dữ liệu

(a)  

65.

Điền phương thức của con trỏ (cursor) để chạy câu lệnh SQL.

(a)