30/09/2018, 23:01
Thắc mắc python 2
Tại sao khi xóa đi dòng lệnh if :3 thì nó không chạy raw_input() thế ạ?
Mọi người giúp e với e không hiểu dòng if đó
def bai1(t,n,k):
for i in range(k):
n=n+n*t/100
print "Tong so tien nhan duoc la:"
print n
if __name__=="__main__":
t=float(raw_input("Nhap lai suat: "))
n=float(raw_input("Nhap so tien gui ban dau: "))
k=int(raw_input("Nhap so thang gui: "))
bai1(t,n,k)
Bài liên quan
Bạn xóa lệnh if nhưng có bỏ tab các dòng phía dưới chưa?
wow mình thử bỏ dòng lệnh đó và bỏ tab thì được
à cho mình hỏi thêm là dòng if đó có nghĩa gì thế?
What does if __name__ == "__main__": do?
Code của bạn có vấn đề về indentation. Các code block của bạn vẫn cùng indent level nên code vẫn chạy. Tuy nhiên theo PEP8 thì mỗi indent level nên là 4 spaces, chứ không phải lúc thì 1 space, lúc thì 1 tab (=8 space) như code của bạn.
Về câu hỏi tại sao bỏ
if
đi không chạy, thì do đoạn code ở dưới được indent vào trongdef
, nên nó có chạy nhưng chỉ là định nghĩa hàm, khi gọi hàm thì nó sẽ chạy các lệnh đó.Cách tiếp cận của bạn hơi thiếu bài bản, mình khuyên bạn nên tìm tài liệu chuẩn, hoặc tìm một lớp học để có cách tiếp cận bài bản hơn, sẽ hiểu bản chất và tự mình giải đáp được các câu hỏi cơ bản như thế này.
Cheers!