Skip to main content

[Intro Python] - Python Basic: Variables and type


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à heightweight và gán giá trị height = 1.79weight = 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.7height 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 savingsfactor để 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 factorresult. 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 savingsfactor, 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"
  • 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


Popular posts from this blog

[Intermediate Python] - Matplotlib: Histogram

Bài viết này giới thiệu về histogram, histogram là cách nhìn rất hữu ích để khám phá dữ liệu LÝ THUYẾT Hãy tưởng tượng có 12 giá trị giữa 0 và 6 và tôi đặt nó trên 1 đường thẳng, để xây dựng một biểu đồ histogram cho những giá trị này, tôi sẽ chia đường thẳng thành những đoạn bằng nhau, được gọi là những ngăn (bins). Giả sử bạn có 3 ngăn, mỗi ngăn có độ rộng là 2, tiếp theo bạn đếm xem có bao nhiêu điểm dữ liệu bên trong mỗi ngăn, ở đây ta có 4 điểm trong ngăn 1, 6 điểm trong ngăn 2 và 2 điểm trong ngăn 3, cuối cùng, ta sẽ vẽ 1 thanh biểu trưng cho mỗi ngăn, chiều cao của thanh tương ứng với số lượng điểm dữ liệu trong ngăn đó. Kết quả của biểu đồ cho ta một cái nhìn tổng quan về cách mà 12 giá trị được phân phối, một vài giá trị ở ngăn giữa, nhưng có nhiều giá trị nhỏ hơn 2 và lớn hơn 4.  Tất nhiên, matplotlib cũng có khả năng tạo biểu đồ histograms, như bài học trước thì ta cũng cần phải import gói pyplot bên trong matplotlib, tiếp theo ta có thể sử dụng hàm hist() ...

[Intermediate Python] - Matplotlib: Customization

Tạo một biểu đồ là việc đơn giản, tuy nhiên tạo một biểu đồ đúng đưa ra một thông điệp rõ ràng, đó là một thách thức thực sự. Với mỗi thể hiện, ta có nhiều sự lựa chọn, trước tiên, có rất nhiều loại biểu đồ, mỗi loại biểu đồ, ta có vô hạn các thông số điều chỉnh, bạn có thể thay đổi màu sắc, hình dạng, nhãn, các trục và vân vân ...  Sự lựa chọn phụ thuộc 1 là vào dữ liệu, 2 là vào câu chuyện, ý nghĩa mà bạn muốn thể hiện từ dữ liệu đó. Bởi vì có rất nhiều tùy biến, cách tốt nhất là chúng ta phải học chúng từ các ví dụ. Hãy bắt đầu với đoạn code sau đây để tạo một biểu đồ đường thẳng. import matplotlib.pyplot as plt  year = [1950, 1951, 1952, ..., 2100]  pop = [2.538, 2.57, 2.62, ..., 10.85]  plt.plot(year, pop)  plt.show() Nó đơn giản là tạo một biểu đồ thẳng giống như các bài trước mà ta đã thực hành, nhưng bây giờ year và pop là những biến chứa nhiều dữ liệu hơn, nó bao gồm các dự án đến tận năm 2100 được dự báo bởi Liên hiệp quốc. Nếu chú...

[DFP] - 5: How to create DFP Ad units

Tiếp tục series tìm hiểu DFP, ta sẽ tìm hiểu cách tạo DFP ad units, các đối tượng trong bài viết này sẽ giúp bạn quen với DFP ad units, tạo một quảng cáo riêng lẻ, tạo hàng loạt các quảng cáo. Ad Units là component đơn giản nhất trong thiết lập DFP, nó định nghĩa kích thước của một quảng cáo và vị trí của quảng cáo trên site. Chúng ta thường áp các nhãn như "leaderboard" hoặc "skyscraper" để định nghĩa kích thước và hình dạng của quảng cáo, và cũng có thể thêm nhãn như "news" để phân loại quảng cáo theo vùng trên site. Các bước để tạo một single DFP ad unit: B1 : Trong excel, liệt kê các ad units, cách đặt tên phải theo quy ước sau: #Code: có thể là ad channel, ví dụ ch1 Name: domain name, ví dụ: monetizemore Size, ví dụ: 728x90 Placements: vị trí, ví dụ: ATF above fold Danh sách này trình bày thực tế các line items trong DFP. Line items định nghĩa mục tiêu quảng cáo nhằm tới và cài đặt. B2 : Đây là định dạng ad units như sau:  c...