Làm sao để có câu trả lời hay nhất?
20/04/2025
Câu 60. Chương trình sau bị lỗi ở dòng lệnh thứ bao nhiêu?
Python
def add(a, b):
sum = a + b
return sum
tong = add(x, y)
print("Tổng là: " + str(tong))
D. 4.
Giải thích: Lỗi xảy ra ở dòng tong = add(x, y). Biến x và y chưa được định nghĩa (chưa được gán giá trị) trước khi được truyền vào hàm add. Do đó, khi chương trình cố gắng thực hiện phép gán add(x, y) cho biến tong, nó sẽ gặp lỗi NameError: name 'x' is not defined và tương tự cho y.
Phần II. Câu trắc nghiệm đúng sai (3 câu - 3 điểm)
Câu 1: Mệnh đề nào dưới đây phát biểu sai về phạm vi tác dụng của biến trong Python?
a. Đúng. Biến cục bộ (khai báo trong hàm) chỉ có phạm vi bên trong hàm đó.
b. Đúng. Biến toàn cục (khai báo ngoài hàm) không tự động có tác dụng như biến cục bộ bên trong hàm.
c. Đúng. Để sử dụng biến toàn cục bên trong hàm và có thể thay đổi giá trị của nó, cần sử dụng từ khóa global.
d. Sai. Biến trong Python không tự động có tác dụng ở mọi nơi. Chúng có phạm vi xác định (cục bộ hoặc toàn cục).
Câu 2: Mục đích của kiểm thử chương trình là gì?
a. Sai. Kiểm thử có thể phát hiện lỗi nhưng không tự động sửa lỗi.
b. Đúng. Mục đích chính của kiểm thử là tìm ra các lỗi (bugs) trong chương trình.
c. Sai. Kiểm thử không tự động sửa lỗi.
d. Sai. Mặc dù kiểm thử giúp hiểu rõ hơn về các loại lỗi có thể xảy ra, nhưng mục đích trực tiếp không phải là phòng ngừa lỗi trong tương lai (đó là mục tiêu của các phương pháp phát triển phần mềm tốt).
Câu 3. Mệnh đề nào dưới đây mô tả đúng về hàm tự định nghĩa không trả lại giá trị?
a. Đúng. Nếu không có từ khóa return, hàm sẽ không trả về giá trị một cách tường minh (ngầm định trả về None).
b. Sai. Hàm không trả lại giá trị có thể có một hoặc không có từ khóa return. Nếu có return mà không có giá trị theo sau, nó cũng tương đương với việc trả về None.
c. Sai. Hàm không trả lại giá trị không cần tối thiểu hai từ khóa return.
d. Đúng. Hàm không trả lại giá trị có thể không có return hoặc có return nhưng không có giá trị đi kèm.
Phần III. Tự Luận trên máy tính (2.25 điểm)
Bài 1: Viết chương trình nhập vào một xâu kí tự có thể có nhiều dấu cách giữa các từ. Sau đó chỉnh sửa xâu kí tự đó sao cho giữa các từ chỉ có một dấu cách. In xâu kết quả ra màn hình?
Python
def chuan_hoa_xau(s):
"""Chỉnh sửa xâu sao cho giữa các từ chỉ có một dấu cách."""
cac_tu = s.split() # Tách xâu thành danh sách các từ
xau_chuan_hoa = " ".join(cac_tu) # Nối các từ lại bằng một dấu cách
return xau_chuan_hoa
xau_nhap = input("Nhập vào một xâu kí tự: ")
xau_da_chuan_hoa = chuan_hoa_xau(xau_nhap)
print("Xâu đã chuẩn hóa:", xau_da_chuan_hoa)
Bài 2. Viết chương trình yêu cầu nhập từ bàn phím một xâu kí tự, sau đó thông báo:
a) Tổng số các kí tự là chữ số của xâu.
b) Tổng số các kí tự là chữ cái tiếng Anh có trong xâu.
Viết hàm cho mỗi yêu cầu trên.
Python
def dem_chu_so(s):
"""Đếm số lượng ký tự là chữ số trong xâu."""
count = 0
for char in s:
if char.isdigit():
count += 1
return count
def dem_chu_cai_tieng_anh(s):
"""Đếm số lượng ký tự là chữ cái tiếng Anh trong xâu."""
count = 0
for char in s:
if char.isalpha():
count += 1
return count
xau_nhap = input("Nhập vào một xâu kí tự: ")
so_chu_so = dem_chu_so(xau_nhap)
print("Tổng số các kí tự là chữ số:", so_chu_so)
so_chu_cai = dem_chu_cai_tieng_anh(xau_nhap)
print("Tổng số các kí tự là chữ cái tiếng Anh:", so_chu_cai)
Bài 3: Sử dụng hàm viết chương trình thực hiện:
a) Nhập vào hai số tự nhiên từ bàn phím, hai số cách nhau bởi dấu cách. Tính và in ra tổng của các số này.
b) Nhập vào hai số tự nhiên từ bàn phím, hai số cách nhau bởi dấu phẩy, in ra ước chung lớn nhất của hai số.
Python
import math
def tinh_tong_hai_so_cach_space():
"""Nhập hai số tự nhiên cách nhau bởi dấu cách và tính tổng."""
input_str = input("Nhập vào hai số tự nhiên (cách nhau bởi dấu cách): ")
try:
num1_str, num2_str = input_str.split()
num1 = int(num1_str)
num2 = int(num2_str)
if num1 >= 0 and num2 >= 0:
return num1 + num2
else:
return "Vui lòng nhập số tự nhiên."
except ValueError:
return "Định dạng nhập không đúng."
def tim_ucln_hai_so_cach_phay():
"""Nhập hai số tự nhiên cách nhau bởi dấu phẩy và tìm ước chung lớn nhất."""
input_str = input("Nhập vào hai số tự nhiên (cách nhau bởi dấu phẩy): ")
try:
num1_str, num2_str = input_str.split(',')
num1 = int(num1_str.strip()) # Loại bỏ khoảng trắng thừa
num2 = int(num2_str.strip())
if num1 >= 0 and num2 >= 0:
return math.gcd(num1, num2)
else:
return "Vui lòng nhập số tự nhiên."
except ValueError:
return "Định dạng nhập không đúng."
print("Tổng hai số cách nhau bởi dấu cách:", tinh_tong_hai_so_cach_space())
print("Ước chung lớn nhất hai số cách nhau bởi dấu phẩy:", tim_ucln_hai_so_cach_phay())
Nếu bạn muốn hỏi bài tập
Các câu hỏi của bạn luôn được giải đáp dưới 10 phút
CÂU HỎI LIÊN QUAN
10 phút trước
1 giờ trước
1 giờ trước
1 giờ trước
1 giờ trước
Top thành viên trả lời