01/10/2018, 10:51

Thắc mắc về hàm trong python

chào các anh chị, nay em có 1 vấn đề cần được mọi người chỉ giáo

em đang làm một hàm như trong hình khi truyền tham số a,b vào thì gán cho biến x = a - r1 thì biến x ra đúng kết quả còn khi gán cho y = b thì giá trị lại bị sai. Em không hiểu là sai ở đâu nên mong được mọi người gỡ rối giúp

Henry viết 12:53 ngày 01/10/2018

Bạn có thể bỏ hết dòng dưới chỉ trừa lại dòng gán x với y, sau đó bạn truyền tham số mình xem + Thêm kết quả. Nhìn như vậy vẫn khá mông lung

Hoàng Tường viết 12:56 ngày 01/10/2018

ý anh là để như này phải k ạ ?

em xóa hết phần sau đi thì đúng mà trong vòng while thì em cũng chỉ để 1 câu tăng y thôi @@

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

Vòng while đầu tiên nó sẽ kiểm tra x <= a. Vòng while ở trong y <= z1.
Đây là cách mà y bị thay đổi.
Đầu tiên nó chạy lòng lặp lớn, lúc này x vẫn nhỏ hơn a. Sau đó nó chạy vòng lặp nhỏ, lúc này y vẫn nhỏ hơn z1. Và vòng lặp này sẽ kết thúc khi y > z1, đương nhiên là nó được bạn + 0.1. Lúc y đã lớn hơn z1. Vòng lặp kết thúc, bạn tăng x lên. Sau đó trở lại vòng lặp ban đầu, vòng lặp ban đầu (vòng lặp lớn) sẽ dừng khi x > a. Nhưng từ lần lặp thứ hai thì vòng lặp trong không còn tác dụng vì y đã lớn hơn z1 rồi.

(x <= a) lần 1
    (y <= z1) lần một tăng y
    (y <= z1) lần hai tăng y
    ...
    (y <= z1) lần n tăng y
     y > z1 thoát vòng lặp
     tăng x
(x <= a) lần 2
    y > z1, thoát
    tăng x
(x <= a) lần n
    y > z1, thoát
    tăng x
x > a, thoát
Hoàng Tường viết 12:55 ngày 01/10/2018

dạ vâng cám ơn anh em làm được rồi ạ
mà cho em hỏi thêm là có cách nào để mình giới hạn số các số 0 đằng sau dấu phẩy của float không ạ ?

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

Bạn có thể dùng print như sau để giới hạn prec

print("%.xf" %(r))

Với r là số thực bạn muốn làm tròn, còn x là số chữ số thập phân bạn muốn.

Bài liên quan
0