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)
Nguyen Minh Quan viết 01:14 ngày 01/10/2018

Bạn xóa lệnh if nhưng có bỏ tab các dòng phía dưới chưa?

Nguyen Thanh Trung viết 01:08 ngày 01/10/2018

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ế?

17XGOD viết 01:06 ngày 01/10/2018

if name==“main

stackoverflow.com
Devoted

What does if __name__ == "__main__": do?

python, namespaces, main, python-module
asked by Devoted on 04:11AM - 07 Jan 09
htl@PyMI.vn viết 01:09 ngày 01/10/2018

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 trong def, 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!

Bài liên quan
0