Cài đặt Môi Trường Phát Triển Python

Cài đặt môi trường phát triển python

Cài đặt python

  • Download và cài đặt python tại :https://www.python.org/downloads/
  • Lưu ý khi cài đặt: Tại màn hình cửa sổ đầu tiên khi chạy chương trình cài đặt, nên chọn option “Add Python 3.x to PATH”, để thuận lợi cho việc chạy python từ cửa sổ cmd sau khi cài đặt

Thêm lựa chọn “Add Python to PATH” khi cài đặt Python

Tạo mới và chạy thử một chương trình

Từ menu start của Windows tìm ứng dụng IDLE và mở ứng dụng này

Gõ vào cửa sổ một lệnh để chạy thử:

print('Hello')

Cửa sổ ứng dụng IDLE

Chạy chương trình từ File :

Từ Menu File, chọn New File, chương trình sẽ tạo ra một cửa sổ soạn thảo mới, nhập vào cửa sổ này nội dung một chương trình đơn giản, ví dụ:

# program_01.pyx = 1y = 2z = x + yprint(f'{x} + {y} = {z}')

Chạy thử chương trình

Tạo mới một chương trình

Lưu lại chương trình thành file (ví dụ program_01.py), sau đó chạy chương trình bằng cách từ Menu Run, chọn Run Module (F5). Chương trình sẽ chạy và in kết quả ra cửa sổ IDLE:

Kết quả chạy chương trình được in ra cửa sổ IDLE

Lập trình Python cơ bản

Khai báo biến

Trong python, việc khai báo biến được thực hiện bằng cách gán giá trị khởi đầu cho một biến:

bien = <gia_tri>

Ví dụ :

# add_number.pyx = 1y = 2z = x + y

Sau khi được khai báo, giá trị của biến có thể được thay đổi bằng cách gán lại một biểu thức mới cho biến:

# update_vars.pyx = 1x = 2x = x + 1

Vào ra dữ liệu

Đọc dữ liệu từ bàn phím

Lệnh input được sử dụng để nhập dữ liệu từ bàn phím. Dữ liệu trả về của lệnh là một biến string chứa dòng văn bản mà người dùng đã nhập vào:

giatri = input('Nhập giá trị cho biến : ')

Ví dụ 1

# hello.pyten = input('Mời bạn cho biết tên của bạn : ')print('Xin chào ', ten)

Chạy thử chương trình

Ví dụ 2:

# input_and_add_2_number.pya = input('Số thứ nhất : ')a = float(a) b = input('Số thứ hai : ')b = float(b) print('Tổng của 2 số là : ', a+b)

Chạy thử chương trình

In dữ liệu ra màn hình

Lệnh print được sử dụng để in dữ liệu ra màn hình, cú pháp của lệnh này như sau:

print(<danh sách giá trị ngăn cách nhau bởi dấu phẩy>)

Ví dụ:

# print_vars.pyx = 1y = 2z = x + yprint(x, '+', y, '=', z)

Chạy thử chương trình

Lệnh điều khiển if

Cấu trúc lệnh if

Các cấu trúc if trong Python:

  • if <điều kiện> :

<Lệnh>

  • if <điều kiện> :

<Lệnh 1>

else:

<Lệnh 2>

  • if <điều kiện 1> :

<Lệnh 1>

elif <điều kiện 2> :

<Lệnh 2>

elif <điều kiện 3> :

<Lệnh 3>

else:

<Lệnh 4>

Lưu ý:

  • Cuối dòng các lệnh if/elif/else là dấu hai chấm. Python sử dụng dấu hai chấm để bắt đầu một khối lệnh con
  • Các dòng của khối lệnh con bên dưới if/elif/else được viết lùi vào một số khoảng trắng (thường là 4 khoảng trắng hoặc 1 tab) so với dòng cha. Các dòng của một khối lệnh phải viết thẳng hàng với nhau.

Điều kiện logic trong lệnh if

Điều kiện logic trong lệnh if về bản chất là một biểu thức, nhưng chỉ nhận một trong hai giá trị True/False . Điều kiện này thường được tạo ra từ các phép toán :

  • Các phép so sánh :
  • Lớn hơn : >
  • Nhỏ hơn : <
  • Lớn hơn hoặc bằng : >=
  • Nhỏ hơn hoặc bằng : <=
  • Bằng nhau : ==
  • Khác nhau : !=
  • Phép phủ định : not
  • Phép và : and
  • Phép hoặc : or

Một số ví dụ minh họa

Ví dụ 1:

Nhập vào từ bàn phím 2 số và in ra giá trị nhỏ hơn trong 2 số đó

# find_smaller_number.pya = input('Số thứ nhất : ')a = float(a) b = input('Số thứ hai : ')b = float(b) if a < b: print(a) else: print(b)

Chạy thử chương trình

Ví dụ 2:

Chỉ số BMI (Body mass index) dùng để đánh giá thân hình của một người. Chỉ số này được đo bằng tỉ số giữa cân nặng (tính theo kg) và bình phương của chiều cao (tính theo mét). Dựa vào chỉ số BMI, người ta có thể đánh giá được thân hình của một người:

  • BMI dưới 16 : thân hình gầy
  • BMI từ 16 đến 18.5 : thân hình hơi gầy
  • BMI từ 18.5 đến 25 : thân hình bình thường
  • BMI từ 25 đến 30 : thân hình hơi béo
  • BMI từ 30 đến 35: thân hình béo

Nhập vào giá trị chiều cao và cân nặng của một người từ bàn phím và cho biết tình trạng thân hình của người đó.

# bmi_calculate.pyheight = input('Chiều cao (mét) : ')height = float(height) mass = input('Cân nặng (kg) : ')mass = float(mass) bmi = mass / (height * height) if bmi < 16: print('Thân hình gầy') elif bmi < 18.5: print('Thân hình hơi gầy') elif bmi < 25: print('Thân hình bình thường') elif bmi < 30: print('Thân hình hơi béo') else: print('Thân hình béo')

Chạy thử chương trình

Vòng lặp for

Cấu trúc vòng lặp for

Lệnh for được dùng để thực hiện một vòng lặp với số lần lặp biết trước. Cấu trúc lệnh for như sau:

for bien_lap in tap_gia_tri:

<khoi_lenh>

Cách biểu diễn tập giá trị lặp trong vòng lặp for

  • Liệt kê các thành phần của tập giá trị. Ví dụ [1, 2, 3, 4, 5]. Đây thực chất là dữ liệu kiểu List (sẽ được mô tả ở phần sau)
  • Sử dụng cấu trúc :

range(<end>)

Biểu thức này thể hiện tập các số nguyên từ 0 đến trước giá trị <end>,(tức <end-1>)

Ví dụ:

range(5) → 0, 1, 2, 3, 4

  • Sử dụng cấu trúc :

range(start, end)

Biểu thức này thể hiện tập các số nguyên từ <start> đến <end-1>

Ví dụ:

range(1, 5) → 1, 2, 3, 4

  • Sử dụng cấu trúc :

range(start, end, increment)

Biểu thức này thể hiện tập các số nguyên từ <start> đến <end-1> và tăng đều với khoảng cách increment.

Ví dụ:

range(0, 10, 2) → 0, 2, 4, 6, 8

Một số ví dụ minh họa

Ví dụ 1:

Tính tổng các số từ 1 đến 100

# sum_1_to_100.pyS = 0for i in range(1, 101): S += i print('S = ', S)

Chạy thử chương trình

Ví dụ 2:

Viết chương trình in ra bảng cửu chương

# bang_cuu_chuong.pyfor i in range(2, 10): for j in range(2, 10): print(i, '*', j, '=', i*j) print()

Chạy thử chương trình

Vòng lặp while

Cấu trúc vòng lặp while

Lệnh lặp while dùng để thực hiện một vòng lặp với số lần lặp không biết trước. Cấu trúc lệnh while như sau:

while dieu_kien:

<khoi_lenh>

Một số ví dụ minh họa

Ví dụ 1:

Kiểm tra một số có phải số nguyên tố không

# prime_check.pyx = int(input('x='))i = 2while i * i <= x: if x % i == 0: j = x // i print(x, '=', i , '*', j) exit() i += 1print(x, ' là số nguyên tố')

Chạy thử chương trình

Ví dụ 2:

Chuyển một số từ hệ thập phân sang hệ nhị phân

# decimal_to_binary.pyx = int(input('x='))s = ''while x > 0: i = x % 2 s = str(i) + s x = int(x/2)print(s)

Chạy thử chương trình

Kiểu dữ liệu số

Trong Python có 2 kiểu số : số nguyên (int) và số thực (float)

Kiểu số nguyên (int)

Số nguyên là các giá trị số không chứa dấu phẩy:

# int_test.pyx = 1y = 2z = -10000

Các phép tính trên kiểu số nguyên:

  • Phép cộng (+)
  • Phép trừ (-)
  • Phép nhân (*)
  • Phép chia (/)
  • Phép chia lấy phần nguyên (//)
  • Phép lấy phần dư (%)
  • Phép lũy thừa (**)

Với Python 3, phép chia 2 số nguyên cho kết quả là một số thập phân:

>>> print(4/3)1.3333333333333333

Phép tính dạng rút gọn:

Các phép tính +=, -=, *=, /=, //=, %=, **=, … được sử dụng để tính giá trị phép tính trên 2 biến và gán kết quả vào biến thứ nhất:

  • a += b tương đương với a = a + b
  • a -= b tương đương với a = a - b
  • ....

Phép lấy giá trị tuyệt đối

Hàm abs được dùng để lấy giá trị tuyệt đối một số:

>>> print(abs(-10))10

Kiểu số thập phân(float)

Số thập phân là các số có chứa dấu phẩy :

# float_test.pyx = 1.0y = 10.5z = 9e38

Các phép tính trên số thập phân

Tương tự số nguyên, số thập phân cũng có các phép tính +, -, *, //, /, %, **, abs, các phép tính rút gọn. Ngoài ra trên số thập phân còn có các phép tính sau:

Phép làm tròn số

Hàm round được dùng để làm tròn một số thập phân:

>>> print(round(4/3, 2)) # làm tròn đến 2 chữ số sau dấu phẩy1.33

Hàm này còn cho phép làm tròn tới một số lượng chữ số nhất định sau dấu phẩy:

>>> print(round(4/3, 2)) # làm tròn đến 2 chữ số sau dấu phẩy1.33

Kiểu dữ liệu string

Khai báo biến string

Trong Python, giá trị của kiểu dữ liệu String được đặt trong cặp 2 dấu nháy đơn (') hoặc 2 dấu nháy kép (") :

# string_test.pyhoten = 'Nguyễn Văn An'diachi = "Hà Nội"

Một số hàm xử lý trên dữ liệu String

  • Hàm str : chuyển từ các kiểu dữ liệu khác sang dữ liệu string

Ví dụ:

>>> str(100)'100'

  • Phép cộng 2 giá trị string :

Ví dụ:

>>> 'Chào ' + 'bạn''Chào bạn'

  • Hàm lower : chuyển giá trị string sang dạng chữ thường

Ví dụ:

>>> 'Chào bạn'.lower()'chào bạn'

  • Hàm upper : chuyển giá trị string sang dạng chữ hoa

Ví dụ:

>>> 'Chào bạn'.upper()'CHÀO BẠN'

  • Hàm replace : Thay giá trị một đoạn con trong một string bằng một giá trị khác

Ví dụ:

>>> 'Tôi sống ở Hà Nội'.replace('Hà Nội', 'Huế')'Tôi sống ở Huế'

  • Hàm split : Tách một giá trị string thành nhiều đoạn nhỏ

Ví dụ:

>>> 'Hà Nội'.split()['Hà', 'Nội']>>> 'Hà Nội, Việt Nam'.split(',')['Hà Nội', ' Việt Nam']

  • Hàm strip : Bỏ đi các kí tự trống ở đầu và cuối string:

Ví dụ:

>>> ' Hà Nội '.strip()'Hà Nội'

  • Hàm len : trả về số lượng ký tự của một giá trị string

Ví dụ:

>>> len('Chào bạn')8

Truy nhập từng ký tự của string

Một giá trị string được tạo thành từ một dãy các kí tự, để lấy ký tự ở vị trí index (bắt đầu từ 0) của một giá trị string, chúng ta dùng cú pháp:

c = text[index]

Bản thân một giá trị string có thể xem là một tập hợp kí tự và có thể dùng vòng lặp for chạy qua tập ký tự này

Ví dụ :

# string_iterate.pytext = 'Chào bạn'for c in text: print( c )

Chạy thử chương trình

Substring

Mỗi đoạn nhỏ của một giá trị string được gọi là substring. Bản thân mỗi substring cũng là một giá trị kiểu string.

Các cách để lấy ra substring trong Python:

  • Cú pháp:

text[start:end]

Biểu thức này trả về đoạn ký tự từ vị trí start đến end-1 của string gốc.

Ví dụ:

>>> text = 'Chào bạn'; print(text[0:4])Chào

  • Cú pháp:

text[start:]

Biểu thức này trả về đoạn ký tự từ vị trí start đến hết string gốc.

Ví dụ:

>>> text = 'Chào bạn'; print(text[5:])bạn

  • Cú pháp:

text[:end]

Biểu thức này trả về đoạn ký tự từ đầu đến vị trí end của string gốc.

Ví dụ:

>>> text = 'Chào bạn'; print(text[:4])Chào

  • Trong các cú pháp trên, nếu các giá trị start, end là âm thì có nghĩa vị trí được tính từ cuối string trở về (-1 tương ứng với vị trí cuối cùng của string)

Ví dụ:

>>> text = 'Chào bạn'; print(text[-3:])bạn

Format string

Để ghép nhiều giá trị string thành một có thể dùng phép cộng string như đã trình bày ở phía trên:

# concat_string.pyx = 1y = 2z = 3st = 'Tổng của ' + str(x) + ' và ' + str(y) + ' là ' + str(z)print(st)

Chạy thử chương trình

Tuy nhiên việc cộng nhiều string sẽ làm chương trình khó theo dõi, do đó có thể dùng hàm format của kiểu dữ liệu string để ghép nhiều string (và các kiểu dữ liệu khác) với nhau.Cách thức hiện như sau:

# format_string.pyx = 1y = 2z = 3st = f'Tổng của {x}{y}{z}'print(st)

Chạy thử chương trình

Một số ví dụ minh họa

Ví dụ:

Kiểm tra tính hợp lệ của mật khẩu (là một giá trị string). Mật khẩu hợp lệ nếu:

  • Có ít nhất 6 ký tự
  • Chứa ít nhất một chữ cái (a-z hoặc A-Z)
  • Chứa ít nhất một chữ số (0-9)

# password_validate.pypassword = input('Nhập mật khẩu : ')if len(password) < 6: print('Mật khẩu quá ngắn') exit()co_chu_cai = Falsefor c in password: C = c.upper() if (C >= 'A'and C <= 'Z'): co_chu_cai = Truebreakifnotco_chu_cai: print('Mật khẩu cần chứa ít nhất một chữ cái (a-z/A-Z)') exit()co_chu_so = Falsefor c in password: if c >= '0'and c <= '9': co_chu_so = Truebreakifnotco_chu_so: print('Mật khẩu cần chứa ít nhất một chữ số (0-9)') exit()print('Mật khẩu hợp lệ !')

Chạy thử chương trình

Kiểu dữ liệu List và Tuple

Kiểu dữ liệu List

Kiểu dữ liệu List dùng để chứa một dãy nhiều phần tử. Khi khai báo giá trị, các phần từ của một List được đặt trong cặp dấu [ ].

Ví dụ:

# list_test.pydayso = [1, 3, 5, 7, 9]ds_hoc_sinh = ["Nguyễn Văn An", "Nguyễn Chí Cường", "Nguyễn Mạnh Tuấn"]diachi = [322, "Tây Sơn", "Hà Nội"]

Các phần tử của một List có thể không cùng kiểu dữ liệu.

Một số phép tính trên kiểu dữ liệu List

  • Hàm len : trả về số phần tử của một List

Ví dụ:

>>> ds = [1, 2, 3, 4, 5] ; print(len(ds))5

  • Hàm append : Thêm mới một phần tử vào List

Ví dụ:

>>> ds = [1, 2, 3, 4, 5] ; ds.append(6); print(ds)[1, 2, 3, 4, 5, 6]

  • Hàm remove : Xóa một phần tử khỏi List

Ví dụ:

>>> ds = [1, 2, 3, 4, 5] ; ds.remove(3); print(ds)[1, 2, 4, 5]

  • Hàm extend : Ghép một List con vào cuối một List

Ví dụ:

>>> ds = [1, 2, 3, 4, 5] ; ds.extend([6, 7]); print(ds)[1, 2, 3, 4, 5, 6, 7]

  • Phép cộng 2 List : trả về một List mới bằng cách ghép 2 List với nhau

Ví dụ:

>>> ds = [1, 2, 3, 4, 5] ; ds += [6, 7]; print(ds)[1, 2, 3, 4, 5, 6, 7]

  • Phép toán in : Kiểm tra một phần tử có nằm trong List

Ví dụ:

>>> ds = [1, 2, 3, 4, 5] ; print(1in ds)True

  • Phép toán not in : Kiểm tra một phần tử có không nằm trong List

Ví dụ:

>>> ds = [1, 2, 3, 4, 5] ; print(3notin ds)False

  • Hàm index : Tìm vị trí của một phần tử trong List

Ví dụ:

>>> ds = [1, 2, 3, 4, 5] ; print(ds.index(3))2

  • Hàm min : Trả về giá trị nhỏ nhất của một List

Ví dụ:

>>> ds = [1, 3, 2, 5, 4] ; print(min(ds))1

  • Hàm max : Trả về giá trị lớn nhất của một List

Ví dụ:

>>> ds = [1, 3, 2, 5, 4] ; print(max(ds))5

Truy nhập đến từng phần tử của List

Tương tự kiểu String, kiểu List cũng có thể truy nhập đến từng phần tử hoặc lấy ra các đoạn con bằng cách sử dụng các cấu trúc:

  • lst[i] : phần tử thứ i của List
  • lst[start:end] : List con chứa các phần tử từ chỉ số start đến end-1
  • lst[start:] : List con chứa các phần tử từ chỉ số start đến cuối List
  • lst[: end] : List con chứa các phần tử từ chỉ số 0 đến end-1

Sắp xếp một List

Để sắp xếp các phần tử trong một List theo một thứ tự tăng dần hoặc giảm dần có thể sử dụng hàm:

sorted(lst, reverse=True/False)

Các tham số cần truyền vào cho hàm sắp xếp:

  • lst : danh sách cần sắp xếp
  • reverse (không bắt buộc): Nếu giá trị này bằng True thì sẽ sắp xếp theo thứ tự giảm dần, nếu giá trị này không được truyền vào thì sẽ sắp xếp theo thứ tự tăng dần

Ví dụ:

>>> print(sorted([1, 3, 2, 5, 4]))[1, 2, 3, 4, 5]>>> print(sorted([1, 3, 2, 5, 4], reverse=True))[5, 4, 3, 2, 1]

Một số ví dụ minh họa

Ví dụ :

Chuyển một số trong phạm vi 0-99 thành phát âm tiếng Việt. Ví dụ : 85 → tám mươi lăm

# number_to_text.pybangso = ['không', 'một', 'hai', 'ba', 'bốn', 'năm', 'sáu', 'bảy', 'tám', 'chín']x = int(input('x='))if x < 10: text = bangso[x]else: chuc = x // 10 donvi = x % 10 text = (bangso[chuc] + ' mươi') if chuc > 1else'mười'if donvi > 0: text += ' 'if donvi == 5: text += 'lăm'elif donvi == 1and chuc > 1: text += 'mốt'else: text += bangso[donvi]print(text)

Chạy thử chương trình

Kiểu dữ liệu Tuple

Dữ liệu kiểu bộ nhóm (Tuple) tương tự với kiểu danh sách (List), chỉ khác là các phần tử sau khi khai báo thì không sửa (thêm, xóa) được. Các phần tử của dữ liệu kiểu nhóm được đặt trong cặp dấu ( )

# tuple_test.pydayso = (1, 3, 5, 7, 9)ds_hoc_sinh = ("Nguyễn Văn An", "Nguyễn Chí Cường", "Nguyễn Mạnh Tuấn")

Tuple chủ yếu được dùng để gộp và tách các biến đơn với nhau

>>> a, b = 1, 2>>> print(a)1>>> print(b)2

Kiểu dữ liệu Dictionary

Kiểu dữ liệu Dictionary dùng để chứa một bảng biến đổi 1-1 giữa 2 tập hợp :

  • Tập nguồn (hay tập khóa (key)) : chứa các thông tin cần tra cứu
  • Tập đích (hay tập giá trị (value)) : chứa thông tin của mỗi key từ tập nguồn

Khai báo kiểu dữ liệu Dictionary

Cú pháp khai báo kiểu Dictionary trong Python:

d = {

<key1> : <value1>,

<key2> : <value2>,

...

}

Ví dụ:

# dict_test.pyd = {"một" : 1, "hai" : 2, "ba" : 3}

Truy nhập phần tử của Dictionary

Để truy nhập đến phần tử có key là <key> trong Dictionary, Python sử dụng phép toán []:

d[<key>]

Ví dụ:

>>> d = {"một" : 1, "hai" : 2, "ba" : 3}; print(d['một'])1

Trong trường hợp nếu giá trị <key> không nằm trong tập nguồn của Dictionary, Python sẽ đưa ra thông báo Exception:

>>> d = {"một" : 1, "hai" : 2, "ba" : 3}; print(d['bốn'])

Traceback (most recent call last):

File "<pyshell#118>", line 1, in <module>

d = {"một" : 1, "hai" : 2, "ba" : 3}; print(d['bốn'])

KeyError: 'bốn'

Để tránh gặp lỗi này, có thể dùng hàm get của Dictionary để truyền giá trị mặc định trong trường hợp <key> không nằm trong tập nguồn của Dictionary:

d.get(<key>, <gia_tri_mac_dinh>)

Ví dụ:

>>> d = {"một" : 1, "hai" : 2, "ba" : 3}; print(d.get('bốn', -1))-1

Một số ví dụ minh họa

Ví dụ:

Chuyển đổi mã tháng tiếng anh 3 ký tự sang tiếng Việt:

JAN → Tháng một

FEB → Tháng hai

MAR → Tháng ba

APR → Tháng tư

MAY → Tháng năm

JUN → Tháng sáu

JUL → Tháng bảy

AUG → Tháng tám

SEP → Tháng chín

OCT → Tháng mười

NOV → Tháng mười một

DEC → Tháng mười hai

# month_convert.pytable = { "JAN" : "Tháng một", "FEB" : "Tháng hai", "MAR" : "Tháng ba", "APR" : "Tháng tư", "MAY" : "Tháng năm", "JUN" : "Tháng sáu", "JUL" : "Tháng bảy", "AUG" : "Tháng tám", "SEP" : "Tháng chín", "OCT" : "Tháng mười", "NOV" : "Tháng mười một", "DEC" : "Tháng mười hai"}month = input("Nhập mã tháng 3 ký tự tiếng Anh:")if month in table: print('Tháng tiếng Việt:', table[month])else: print('Mã không hợp lệ')

Chạy thử chương trình

Hàm (Function)

Khai báo hàm

Cấu trúc để khai báo hàm trong Python:

deftenham(<danh_sach_bien>): <noi_dung_ham> return <ket_qua>

Ví dụ:

# square_function.pydefsquare(x): return x*xfor i in range(1,11): print(f'{i} * {i} = {square(i)}')

Chạy thử chương trình

Làm việc với ngày/giờ

Chuyển đổi từ thời gian sang string:

# format_datetime.pyfrom datetime import datetimenow = datetime.now()print(now.strftime('%d-%m-%Y'))print(now.strftime('%d/%m/%Y %H:%M:%S'))

Chạy thử chương trình

Ý nghĩa của các thành phần trong format:

  • %d: Ngày
  • %m: Tháng
  • %y: Hai chữ số cuối của năm
  • %Y: Năm đầy đủ 4 chữ số
  • %H: Giờ 0-23
  • %I: Giờ 0-12
  • %p: AM/PM
  • %M: Phút
  • %S: Giây

Chuyển đổi string sang thời gian:

# parse_date.pyfrom datetime import datetimedt1 = datetime.strptime('01/01/2020', '%d/%m/%Y')print(dt1)dt2 = datetime.strptime('01-01-2020 23:59:59', '%d-%m-%Y %H:%M:%S')print(dt2)

Chạy thử chương trình

Cộng thời gian

# add_date.pyfrom datetime import datetime, timedeltadt1 = datetime(2020, 2, 1)duration = timedelta(days=30, seconds=3600) # 30 ngày + 1 giờdt2 = dt1 + durationprint(dt2)

Chạy thử chương trình

Từ khóa » Viết Chương Trình Tính Bmi C