01/10/2018, 10:59

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))
Henry viết 13:13 ngày 01/10/2018

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

giang viết 13:04 ngày 01/10/2018

là do r *= 5. Cái này lặp đi lặp lại y lần. y = 5.

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 ạ

Henry viết 13:02 ngày 01/10/2018

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

giang viết 13:02 ngày 01/10/2018

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

À đú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é

Bài liên quan
0