Rõ ràng rằng Python tính toán số liệu rất tuyệt vời, nếu bạn muốn thực hiện các phép tính phức tạp hơn, bạn cần phải lưu giá trị của chúng lại trong lúc viết code, bạn cần phải định nghĩa một biến với tên dễ gợi nhớ đến giá trị mà nó lưu. Khi ta định nghĩa một biến, bạn có thể lấy giá trị của biến đó bằng cách gọi tên nó.
Ví dụ: lưu chiều cao và cân nặng, chúng ta sẽ tạo ra 2 biến đó là height và weight và gán giá trị height = 1.79 và weight = 68.7. Sau đó, nếu ta gọi height thì Python sẽ nhìn qua tên biến, truy vấn giá trị của biến đó và in giá trị này lên màn hình. Bây giờ hãy tính chỉ số cơ thể BMI (Body Mass Index) theo công thức BMI = weight / (height*height) với weight(kg) và height(m). Khi ta gọi tên của biến, tức là ta đang yêu cầu Python hãy thay giá trị thật sự vào biến, weight sẽ tương ứng với giá trị 68.7 và height tương ứng với giá trị 1.79 sau đó, Python sẽ lưu giá trị tính toán được vào 1 biến mới có tên là bmi
height = 1.79
weight = 68.7
bmi = weight / height ** 2
print(bmi)
Output:
21.4413
Với Python, các biến cực kỳ hữu ích trong mọi trường hợp, nó giúp cho mã code của chúng ta có thể tái sử dụng được. Trong ví dụ trên, ta đã làm việc với biến chứa giá trị số và trong Python, những con số này đều thuộc 1 loại cụ thể, để biết nó là loại nào ta sử dụng hàm type(). Ví dụ: muốn biết loại của biến bmi ta sẽ gõ là type(bmi)
Có một số lưu ý về kiểu dữ liệu của Python, kiểu dữ liệu khác nhau thì kết quả những phép tính khác nhau, ví dụ đối với kiểu chuỗi thì phép '+' tương ứng với phép nối chuỗi.
In [16]: 2 + 3
Out[16]: 5
In [17]: 'ab' + 'cd'
Out[17]: 'abcd'
BÀI TẬP
Bài 1:
Để tạo 1 biến, ta sử dụng dấu = như sau: x = 5. Dấu = trong Python có nghĩa là gán, nó không có nghĩa là kiểm tra bằng.
- Tạo một biến có tên saving và gán giá trị 100 cho biến này
- Kiểm tra bằng lệnh print() biến savings ra màn hình
Bài 2: Calculations with variables
Hãy nhớ lại cách tính lãi suất từ $100 sau 7 năm, ta có phép tính 100 * 1.1 * 7. Thay vì nhập giá trị trực tiếp, bây giờ ta sử dụng biến, biến savings đã được tạo trước đó với giá trị là $100, bây giờ
- Tạo thêm biến factor với giá trị 1.1
- Sử dụng savings và factor để tính số tiền sẽ có sau 7 năm và lưu vào biến result
- In giá trị result ra màn hình
Bài 3: Other variable types
Trong bài tập trước, chúng ta làm việc với 2 kiểu dữ liệu của Python đó là int với biến savings, kiểu float với biến factor và result. Bài này ta sẽ làm quen với 2 kiểu đó là kiểu chuỗi và kiểu luận lý
- Tạo một biến desc chứa giá trị "compound interest"
- Tạo biến profitable chứa giá trị True
Bài 4: Operations with other types
Ta đã biết được các kiểu dữ liệu khác nhau sẽ có các phép toán khác nhau. Khi cộng 2 chuỗi ta sẽ có kết quả khác với khi ta cộng 2 số nguyên hay 2 kiểu luận lý. Trong đoạn code đã tạo sẵn một vài biến với các kiểu khác nhau, hãy hoàn thành tiếp các yêu cầu sau
- Tính tiền lãi từ 2 biến savings và factor, sau đó lưu vào biến year1
- Hiển thị ra màn hình kiểu dữ liệu của biến year1
- Cộng 2 biến desc lại và lưu vào biến doubledesc
- Hiển thị ra màn hình kiểu dữ liệu của biến doubledesc
Bài 5: Type conversion
Sử dụng phép cộng (+) để cộng 2 chuỗi lại với nhau là việc ta đã thực hành. Giả sử bạn đã tính được result và muốn in kết quả bằng chuỗi, nếu ta viết như sau:
print("I started with $ " + savings + " and now have $" + result + ". Awesome!")
Khi thực thi, ta thấy dòng lệnh trên không được thực hiện, vì không thể cộng chuỗi và float. Để sửa lỗi này, chúng ta cần chuyển đổi kiểu float thành chuỗi bằng hàm str(), Python cũng có một số hàm tương tự như là int(), float(), bool() để chuyển đổi giá trị các kiểu với nhau.
- Sửa lỗi đoạn code sau:
# Definition of savings and result
savings = 100
result = 100 * 1.10 ** 7
# Fix the printout
print("I started with $" + savings + " and now have $" + str(result) + ". Awesome!")
# Definition of pi_string
pi_string = "3.1415926"
# Definition of pi_string
pi_string = "3.1415926"
- Chuyển đổi biến pi_string thành kiểu float và lưu vào biến pi_float
Bài 6: Can Python handle everything?
Trong các đáp án sau, đáp án nào sẽ báo lỗi
A) "I can add integers, like " + str(5) + " to strings."
B) "I said " + ("Hey " * 2) + "Hey!"
C) "The correct answer to this multiple choice exercise is answer number " + 2
D) True + False
BÀI GIẢI
Bài 1:
savings = 100
print(savings)
Bài 2: Calculations with variables
# Create a variable savings
savings = 100
# Create a variable factor
factor = 1.1
# Calculate result
result = savings * factor ** 7
# Print out result
print(result)
Bài 3: Other variable types
# Create a variable desc
desc = "compound interest"
# Create a variable profitable
profitable = True
Bài 4: Operations with other types
# Several variables to experiment with
savings = 100
factor = 1.1
desc = "compound interest"
# Assign product of factor and savings to year1
year1 = savings * factor
# Print the type of year1
print(type(year1))
# Assign sum of desc and desc to doubledesc
doubledesc = desc + desc
# Print out doubledesc
print(doubledesc)
Bài 5: Type conversion
# Definition of savings and result
savings = 100
result = 100 * 1.10 ** 7
# Fix the printout
print("I started with $" + str(savings) + " and now have $" + str(result) + ". Awesome!")
# Definition of pi_string
pi_string = "3.1415926"
# Convert pi_string into float: pi_float
pi_float = float(pi_string)
Bài 6: Can Python handle everything?
Đáp án C