Nhờ mọi người xem giúp hàm power tự viết không ra kết quả như mong đợi

em định tạo chủ để khác nhưng thấy vấn đề nó cũng không có gì to tát lắm nên e hỏi luôn ở đây ạ.
Có gì không đúng nội quy mong các anh bỏ quá cho e nhé.
Em muốn hỏi tại sao đoạn Code này lại in ra kết qua r là 3125 vậy ạ:

def power(x, y=2):
    r = 1
    for i in range(y):
       r = r * x
    return r
print (power(5, 5))

là do r *= 5. Cái này lặp đi lặp lại y lần. y = 5.
@drgnz chị Dồng ơi, mu, mu mu

2 Likes

Em hiểu thế này ạ:
Vòng lặp for cho i chạy từ 0 đến 1:
i = 0 --> r = 15 = 5
i = 1 --> r= r
5 = 5*5=25

Kết thúc vòng lặp. Vậy e không hiểu đoạn trên anh nói là lặp ở đâu ạ

0 tới 1 mô?
y với giá trị mặc định là bằng 2. Thế như lúc gọi hàm thì lại là power(5, 5) với 5 đầu tiên là gán cho x. 5 thứ hai là gán cho y. Vậy lặp 5 lần.
Không thì cứ print y ra mà check

2 Likes

À đúng rồi, viết power(5,5) thì nó sẽ lấy y = 5 chứ không phải bằng 2.
Em bị nhầm. Quên mất hi… Xin lõi anh nhé

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?