01/10/2018, 08:21

Không hiểu nguyên nhân code sai chỗ nào?

Anh chị ơi, em viết dòng code này nhưng chạy kết quả ko ra kết quả gì

bill = 100
def tax(bill):
	bill *=1.08
	print "With tax: %f" %bill
	return bill


def tip(bill):
	bill *=1.15
	print "With tip: %f" %bill
	return bill

Nhưng khi em viết lại zậy thì có kết quả như mong muốn
def tax(bill):
	bill *=1.08
	print "With tax: %f" %bill
	return bill


def tip(bill):
	bill *=1.15
	print "With tip: %f" %bill
	return bill

meal_cost=100
tax=tax(meal_cost)
tip=tip(tax)

Anh chị giải thích giúp em ah. Em tự học nên mong anh chị giúp em.

Shin viết 10:32 ngày 01/10/2018

khi bạn dùng"def tax(bill)" thì để chạy bạn phải gọi hàm tax với tham số truyền vào, tham số này sẽ đc gán cho biến cục bộ(local variable) bill, còn nếu bạn muốn sử dụng biến toàn cục(global variable) thì bạn làm như sau:

def tax():
    global bill
    bill *=1.08
    return bill
ngoc viết 10:22 ngày 01/10/2018

Da, em cam on, chac em chua hoc den bien global nen chua hiểu lắm ah, em sẽ nghiên cứu thêm ah.

Bài liên quan
0