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: Basic plots with matplotlib

Trong bài này, bạn sẽ được học cách hình dung dữ liệu thực tế, cách lưu trữ dữ liệu trong các cấu trúc dữ liệu mới; khi đã thành thạo các cấu trúc điều khiển, bạn cần điều chỉnh các đoạn scripts và các thuật toán, chúng ta sẽ  kết thúc chương này với một bài tập nhỏ và chúng ta sẽ phải kết hợp mọi thứ đã  học để giải quyết bài toán.  LÝ THUYẾT Phần đầu tiên của chương là về cách hình dung dữ liệu (data visualization), nó rất quan trọng trong việc phân tích dữ liệu. Đầu tiên, bạn sẽ sử dụng nó để khám phá tập dữ liệu (dataset) để hiểu dữ liệu của bạn một cách rõ nhất, từ đó bạn mới có một cái nhìn sâu sắc về nó, và chia sẻ cái mà bạn đã nhận thức được từ dữ liệu với người khác   Ví dụ: ta nhìn vào biểu đồ xinh đẹp bên trên, nó được tạo bởi giáo sư người Thụy Sĩ Hans Rosling, giáo sư nói về sự phát triển dân số toàn cầu được xem hàng triệu lần và sắp xếp chúng tạo nên 1 biểu đồ, giáo sư đã để dữ liệu nói lên lịch sử của chính nó. Ở đây, chúng ta thấy ...

[DFP] - 6: How to create Ad tags in DoubleClick ad Exchange

Chúng ta sẽ học một vài thủ thuật và mẹo để quản lý quảng cáo một cách hiệu quả. Tạo các tags từ network chẳng hạn như Google Ad Exchange là phần trọng tâm của bất kỳ thiết lập DFP nào, bài hướng dẫn này trình bày ngữ trường hợp sử dụng cao hơn DFP ở mức Order. B1 : Lên kế hoạch các kiểu của tags mà bạn muốn tổ chức thực hiện trên spreadsheet hoặc notepad Bước đầu tiên là lên kế hoạch các kiểu của ad tags mà bạn muốn thực hiện và ghi chúng lại vào spreadsheet hoặc notepad. Tên của tags cũng rất quan trọng, nó vừa thể hiện được ý nghĩa của tags đồng thời là yếu tố nhận dạng để chúng ta theo dõi nó. Bạn sẽ muốn quy định một hệ thống danh pháp cho những tags này. Chúng tôi đề nghị chia tags thành "components" và gắn nó với một hệ thống cho tất cả các thẻ. Ví dụ: chúng ta đã từng xây dựng những tên tags như "ch1_AdX_MonetizeMore_top_728x90", ghi chú là chúng ta sử dụng dấu gạch chân để phân tách các thành phần trong nhãn, không thể ngăn cách bằng khoảng trắn...