Một biến được định nghĩa trong chương trình chính (bên ngoài các hàm) thì sẽ được sử dụng như thế nào bên trong các hàm?
Một biến được định nghĩa trong chương trình chính (bên ngoài các hàm) thì sẽ được sử dụng như thế nào bên trong các hàm?
Một biến được khai báo bên trong một hàm thì có sử dụng được ở bên ngoài hàm đó hay không?
Thảo luận (1)Hướng dẫn giảiMột biến được khai báo bên trong một hàm thì có sử dụng được ở bên ngoài hàm đó
(Trả lời bởi animepham)
Quan sát các lệnh sau để tìm hiểu phạm vi có hiệu lực của biến khi khai báo trên một hàm
Thảo luận (1)Hướng dẫn giảiCác biến được khai báo bên trong một hàm chỉ được sử dụng bên trong hàm đó. Chương trình chính không sử dụng được.
(Trả lời bởi Time line)
Giả sử có các lệnh sau:
>>> a,b = 1,2
>>> def f(a,b):
a = a + b
b = b*a
return a + b
Giá trị của a, b bằng bao nhiêu sau khi thực hiện lệnh sau?
a) f(1, 2)
b) f(10, 20)
Thảo luận (1)Hướng dẫn giải
Ta có thể khai báo một biến bên trong hàm trùng tên với biến đã khai báo trước đó bên ngoài hàm không?
Thảo luận (1)Hướng dẫn giảiCó thể khai báo một biến bên trong hàm trùng tên với biến đã khai báo trước đó bên ngoài hàm được vì các biến khai báo bên trong hàm có tính địa phương, không có hiệu lực bên ngoài hàm.
(Trả lời bởi Quoc Tran Anh Le)
Quan sát các lệnh sau, tìm hiểu phạm vi có hiệu lực của biến khi khai báo bên ngoài hàm.
Ví dụ 1: Biến khai báo bên ngoài hàm không có tác dụng bên trong hàm.
Ví dụ 2: Bên trong hàm có thể truy cập để sử dụng giá trị của biến đã khai báo trước đó ở bên ngoài hàm.
Thảo luận (1)Hướng dẫn giảiBiến khai báo bên ngoài hàm không có tác dụng bên trong hàm và biến ở bên trong hàm có thể truy cập để sử dụng giá trị của biến đã khai báo trước đó bên ngoài hàm.
(Trả lời bởi Time line)
Giả sử hàm f(x,y) được định nghĩa như sau:
>>> def f(x,y):
a = 2*(x + y)
print( a + n)
Kết quả nào được in ra khi thực hiện các lệnh sau?
n = 10
f(1,2)
Thảo luận (1)Hướng dẫn giải
Viết hàm với đầu vào, đầu ra như sau:
- Đầu vào là danh sách sList, các phần tử là xâu kí tự.
- Đầu ra là danh sách cList, các phần tử là kí tự đầu tiên của các xâu kí tự tương ứng trong danh sách sList.
Thảo luận (1)Hướng dẫn giảiHàm:
def Select(A):
B=[]
for k in range(len(A)):
s=A[i]
B.append(s[0])
return B
(Trả lời bởi Time line)
Viết hàm Tach_day() với đầu vào là danh sách A đầu ra là hai danh sách B, C được mô tả như sau:
- Danh sách B thu được từ A bằng cách lấy ra các phần tử có chỉ số chẵn.
- Danh sách B thu được từ A bằng cách lấy ra các phần tử có chỉ số lẻ.
Thảo luận (1)Hướng dẫn giảidef Tach_day(A):
B=[]
C=[]
for i in range(len(A)):
if i%2==0:
B.append(i)
else:
C.append(i)
return B,C
(Trả lời bởi Hà Quang Minh)
Viết hàm có hai tham số đầu vào là m, n. Đầu ra trả lại hai giá trị là:
- ƯCLN của m, n.
- Bội chung nhỏ nhất (BCNN) của m, n.
Gợi ý: Sử dụng công thức ƯCLN(m, n) × BCNN(m, n) = m × n.
Thảo luận (1)Hướng dẫn giảidef UCBC(m,n):
a=m
b=n
r = a % b
while r != 0:
a = b
b = r
r = a % b
ucln=b
bcnn=m*n/ucln
return ucln, bcnn
(Trả lời bởi Hà Quang Minh)