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() ...

[DFP] - 9: How to target DFP Ad units to each section of your site

Qua các bài học trước, tôi đã làm quen với lập một chiến dịch DFP và tạo các ad units. Bài này Megan sẽ hướng dẫn tôi cách để có độ chính xác của ad unit cao hơn bằng cách lập mục tiêu theo từng phần khác nhau của trang web. Nó giúp chúng ta khai thác toàn bộ sức mạnh của báo cáo DFP và kiểm soát hạt (granular controls) bằng phân đoạn khoảng không quảng cáo. Nếu bạn có nhiều sections trong site và muốn thiết lập ad units cho mỗi phần, có 3 tùy chọn để segment inventory trong DFP 1 - by Placement (mức độ dễ: chỉ cần set up DFP) 2 - by Section Ad Units (mức vừa phải: set up DFP) 3 - by Key Values (mức độ khó: yêu cầu phải coding và set up DFP) phải thông qua key-values bởi vì key values là thuộc tính nâng cao và sẽ thảo luận riêng thuộc tính này. Làm thế nào để tạo placement? Placement là cách đơn giản để nhắm mục tiêu quảng cáo bởi section. Nhóm các ad units được nhắm mục tiêu theo cách thức hấp dẫn nhằm thu hút các nhà quảng cáo.  B1 : Login DFP,  chọn Inv...

[DFP] - 10: How to plan DFP Ad Inventory campaigns

Cách lập chiến dịch cho quảng cáo trên DFP Tại sao chúng ta phải lập chiến dịch? Các chiến dịch mạnh mẽ sẽ cung cấp cho bạn hướng tối ưu hóa tốt. Chúng ta sẽ bắt đầu tìm hiểu những phần căn bản bao gồm giao diện DFP, ở bài này, chúng ta sẽ có một cái nhìn tổng quan về giao diện người dùng, khám phá các thuộc tính của nó, chúng ta cũng học cách lên kế hoạch một cách hiệu quả nhất. Kế hoạch ban đầu B1 : Lên kế hoạch trang nào (section) trong site cùa bạn muốn đặt quảng cáo. B2 : Tương tự với ad units của Google AdSense , ad unit của DFP cũng giữ chỗ cho các quảng cáo mà bạn muốn thể hiện trên site. B3 : Bạn cũng có thể sử dụng Placements để nhóm các ad units nhất định mà một nhà quảng cáo muốn nhắm đến. B4 : Key value được dùng để tùy chỉnh mục tiêu nhắm đến, và được sử dụng khi bạn muốn phân phối quảng cáo chính xác trong một trang chỉ định của site, mà trang đó bao gồm các giá trị mục tiêu tùy chỉnh. Định nghĩa Ad Inventory B5 : Trước khi tạo ad units, hãy nghĩ đến ...