Hướng dẫn dùng 40 45 python


Hướng dẫn dùng 40 45 python

Lab04
Hướng dẫn thực hành
Các cấu trúc điều khiển Lặp trong Python

Mục tiêu                                

  • Cấu trúc điều khiển lặp (while)
  • Cấu trúc điều khiển lặp (for)
  • Cấu trúc nhảy (break, continue)
  • Lệnh pass, else trong vòng lặp

Giới thiệu tổng quan

Trong Python các câu lệnh (statement) được thực hiện một cách tuần tự từ trên xuống dưới. Tuy nhiên đôi khi bạn muốn thực hiện một khối các câu lệnh nhiều lần, bạn có thể sử dụng vòng lặp (loop).

Hướng dẫn dùng 40 45 python

Phần I: Hướng dẫn thực hành

Hướng dẫn thực hành với các cấu trúc điều khiển lặp trong lập trình Python:

Cấu trúc điều khiển while

Cú pháp:

# Bắt đầu vòng lặp

while condition expression:

    statement

# Lệnh ngoài vòng lặp

Lab04.01

Yêu cầu: Viết chương trình Python thực hiện công việc sau:

  • Nhập vào số nguyên n
  • In ra các số nguyên nhỏ hơn n

Gợi ý:

Bước 1: Tạo thư mục Lab04 tại ổ đĩa lưu trữ của bạn (ví dụ: D:\Devmaster.edu.vn\Python\Labguides\Lab04)

Mở Visual Studio code, vào menu File -> Open Folder -> Chọn tư  mục bạn vừa tạo -> Chọn SELECT (Ví dụ: D:\Devmaster.edu.vn\Python\Labguides\Lab04)

Bước 2: Tạo mới file Lab04.01.py

Code theo gợi ý sau:

"""

Yêu cầu: Viết chương trình Python thực hiện công việc sau:

-   Nhập vào số nguyên n

-   In ra các số nguyên nhỏ hơn n

"""

# Nhập số nguyên n

n=int(input("Nhập n="))

# In các số nguyên i < n

i=0

while i

    print(i)

    i +=1

print("Finish")

#=========================================================

Bước 3: Chạy chương trình: nhấn phím F5 để chạy chương trình ta có kết quả như sau

Nhập n=10

0

1

2

3

4

5

6

7

8

9

Finish

Lab04.02

Yêu cầu: Viết chương trình Python thực công việc sau:

  • Nhập vào số nguyên n
  • In ra các số i

Gợi ý:

Bước 1: Trong thư mục Lab04 => tạo mới file Lab04.02.py

Bước 2: Coding gợi ý

"""

Yêu cầu: Viết chương trình Python thực công việc sau:

-   Nhập vào số nguyên n

-   In ra các số i

"""

# Nhập số nguyên n

n=int(input("Nhập n="))

i=0

tong=0

while i

    if i%3==0 or i%5==0:

        tong +=i

        print(i)

    i +=1

# Tổng

print("Tổng các số chia hết cho 3 hoặc 5:",tong)

#=========================================================

Bước 3: Thực hiện chương trình (F5) kết quả như sau:

Nhập n=12

0

3

5

6

9

10

Tổng các số chia hết cho 3 hoặc 5: 33

Lab04.03: kiểm tra số nguyên tố

Yêu cầu: Viết chương trình Python thực hiện các công việc sau:

  • Nhập vào số nguyên dương n
  • Kiểm tra số n có phải là số nguyên tố không

Gợi ý:

Bước 1: Trong thư mục “Lab04” tạo mới file Lab04.03.py

Bước 2: Code gợi ý như sau:

"""

Yêu cầu: Viết chương trình Python thực hiện các công việc sau:

-   Nhập vào số nguyên dương n

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

"""

# Nhập số nguyên n

n=int(input("Nhập n="))

flag=True # Giả sử n là số nguyên tố

# Tìm xem có số x nào mà x là ước của n không?

# Nếu có số x là ước của n thì => n không là nguyên tố

x=2 # khởi tạo biến lặp

while x <= int(n/2):

    if n%x==0: # lúc này x là ước

        flag=False

        break

    x +=1 # Tăng biến lặp

if flag==True:

    print(n, "là số nguyên tố!")

else:

    print(n, "không là số nguyên tố")

#========================================================

Bước 3: Chạy chương trình và kiểm tra kết quả:

Nhập n=5

5 là số nguyên tố!

Nhập n=6
6 không là số nguyên tố

Cấu trúc điều khiển for: for…range; for…array

Cú pháp:

"""

for range, for...array

# syntax:

for x in range(start, stop):

    statement

for x in list_sequense:

    statement

"""

Lab04.04: for…range

Ví dụ đơn giản nhất của vòng lặp for trong Python là sử dụng 'for' với  'range'  (Phạm vi).

Ví dụ biến 'x' có giá trị chạy trong pham vi (3, 7)  (x= 3, 4, 5, 6).

Bước 1: Trong thư mục “Lab04” tạo file Lab04.04.py

Bước 2: Coding gợi ý

print("For loop example")

# for x = 3, 4, 5, 6

for x in range (3, 7) :

    print("Value of x = ", x)

    print("  x^2 = ", x * x)

# Dòng lệnh này nằm ngoài khối lệnh for.

print("End of example")

#=========================================================

Bước 3: Thực thi chương trình và kết quả

For loop example

Value of x =  3

  x^2 =  9

Value of x =  4

  x^2 =  16

Value of x =  5

  x^2 =  25

Value of x =  6

  x^2 =  36

End of example

Lab04.05: for…list

Sử dụng vòng lặp for có thể giúp bạn duyệt trên các phần tử của mảng.

Ví dụ:

  • Khởi tạo một mảng
  • Duyệt và in ra các phần tử

Code gợi ý:

"""

Sử dụng vòng lặp for có thể giúp bạn duyệt trên các phần tử của mảng.

Ví dụ:

-   Khởi tạo một mảng

-   Duyệt và in ra các phần tử

"""

# Khởi tạo mảng

list=["Devmaster","Academy"]

for item in list:

    print(item)

# Câu lệnh này ngoài vòng lặp for

print("-------------------")

print("Finish")

#=========================================================

Kết quả:

Devmaster

Academy

-------------------

Finish

Duyệt các phần tử của mảng thông qua chỉ số (index):

Ví dụ:

# Khởi tạo mảng

list=["Viện","Công","Nghệ","Và","Đào","Tạo","Devmaster"]

print("Duyệt các phần tử của mảng thông qua chỉ số:")

# Hàm len() trả về số phần tử của mảng.

# index = 0,1,.. len-1

for index in range(len(list)):

    print(index, list[index] )

#=========================================================

Kết quả:

Duyệt các phần tử của mảng thông qua chỉ số:

0 Viện

1 Công

2 Nghệ

3 Và

4 Đào

5 Tạo

6 Devmaster

Lab04.06: Sử dụng break trong vòng lặp

Hướng dẫn dùng 40 45 python

Ví dụ:

print("Ví dụ về break") 

# Tạo một biến x và gán giá trị 2 cho nó.

x = 2 

while (x < 15) :

    print("----------------------\n")

    print("x = ", x)

    # Kiểm tra nếu x = 5 thì thoát ra khỏi vòng lặp.

    if (x == 5) :    

        break    

    # Tăng giá trị của x thêm 1

    x = x + 1

    print("x after + 1 = ", x)    

print("Kết thúc")

#=========================================================

Kết quả:

x =  2

x after + 1 =  3

----------------------

x =  3

x after + 1 =  4

----------------------

x =  4

x after + 1 =  5

----------------------

x =  5

Kết thúc

Lab04.07
Sử dụng continue trong vòng lặp

Hướng dẫn dùng 40 45 python

Ví dụ:

"""

Ví dụ về continue

    - Nhập vào số nguyên dương n

    - In ra các số tự nhiên

"""

# Nhập số n

n=int(input("Nhập số n="))

x=1

while x

    if x%3==0:

        x +=1 # tăng x lên 1

        continue # bắt đầu vòng lặp mới và không in

    print(x)

    x +=1

print("Kết thúc")

#=========================================================

Kết quả:

Nhập số n=10

1

2

4

5

7

8
Kết thúc

NẾU BẠN NGỦ QUÊN TRONG CUỘC SỐNG
THỨ BẠN NHẬN ĐƯỢC CHỈ LÀ NHỮNG GIẤC MƠ

Phần II Bài tập tự thực hành

  1. Viết chương trình thực hiện việc in ra các số nguyên tố từ 2 đến 100 (Chú ý: Số nguyên tố là số chỉ chia hết cho 1 và chính nó)
  2. Viết chương trình tính tổng các số chẵn và không chia hết cho 3 với các số <=n ( n nguyên dương, nhập từ bàn phím)
  3. Viết chương trình nhập vào năm x tháng y sau đó in ra số ngày trong tháng năm đó.
  4. Viết chương trình nhập vào số nguyên dương là số giây, in ra định dạng sau hh:mm:ss . Ví dụ số giây nhập vào là 350 thì in ra là 00:05:50.
  5. Viết chương trình in ra số có 2 chữ số mà tổng của chúng là số chẵn (Các số: 100-999)
  6. Viết chương trình in ra các hình sau

Hướng dẫn dùng 40 45 python

  1. Viết chương trình để hiển thị ra hình sau

Hướng dẫn dùng 40 45 python

  1. Viết chương trình:
    1. Nhập vào số tiền gửi, lãi xuất ngân hàng (Tính theo năm) và số tháng gửi:
    2. Tính và xuất số dư cuối kỳ và tiền lãi cuối kỳ, biết rằng:
    • Lãi suất tháng=(Lãi suất năm/12)/100
    • Tiền lãi tháng=Tiền gốc*Lãi suất tháng
    • Tiền lãi mỗi tháng sẽ được gộp chung vào tiền gốc
    • Tiền lãi cuối kỳ sẽ được tích lũy tiến từ tiền lãi mỗi tháng + tiền gốc

Ví dụ: Nếu bạn gửi 10 triệu với lãi suất 12%/năm và gửi trong 4 tháng, thì tiền lãi cuối kỳ được tính như sau:

    • Lãi suất tháng=(12/12)/100=0.01

Tháng

Tiền gốc + lãi

Tiền lãi tháng

1

10,000,000

100,000

2

10,100,000

101,000

3

10,201,000

102,010

4

10,303,010

103,030.1

  1. Viết chương trình in ra hình sau:

Nhập N=5: In ra hình

* * * * *

* * *

*

  1. Viết chương trình in ra dãy amstrong có 3 chữ số
  2. Viết chương trình in ra dãy Fibonaci
  3. Viết chương trình tìm ước số chung lớn nhất, bội số chung nhỏ nhất của 2 số
  4. Viết chương trình
    1. Nhập vào số nguyên dương n, m (n
    2. In ra các số chính phương trong khoảng [n,m] và tính tổng các số chính phương.
    3. In ra các hoàn hảo trong khoảng [n,m] và tính tổng các số hoàn hảo.
    4. In ra các số nguyên tố cùng nhau trong khoảng [n,m]
  5. Nhập vào số nguyên dương n; tìm ước số chung lớn nhất của số đó với các số từ 1 đến 10; in kết quả ra màn hình
  6. Nhập một số nguyên n; in ra màn hình số đảo ngược của số đó

Ví dụ: 123456798 => 897654321

  1. Nhập số nguyên n; tính giai thừa của n (!n)

Ví dụ: !3 = 1x2x3 = 6

  1. Nhập số nguyên y và số nguyên n

Tính giá trị biểu thức:  ví dụ n=9

y – 1/3 * (!y3) + 1/5*(!y5) – 1/7 *(!y7) + 1/9*(!y9)

  1. Viết chương trình tìm ra các số nguyên a,b,c,d trong khoảng 0 đến 10 thỏa mãn điều kiện: a*d*d = b *c*c*c
  2. Viết chương trình in ra bảng cửu chương
  3. Viết chương trình xác định tất cả các cặp số nguyên dương (x,y) sao cho x2+y2+1)/x*y là 1 số nguyên
  4. Tìm tất cả các phương án kết hợp 3 loại tiền: 1000đ, 2000đ, 5000đ với nhau để được số N đ. Với  N nhập từ  bàn phím và N>=10000 và N%1000==0.
  5. Tính tổng các chữ số của 1 số tự nhiên N; N nhập từ bàn phím
  6. Tính kết quả của phép toán 1+1/23+1/33+...+1/n3 (làm tròn 3 chữ số thập phân)
  7. Một cặp số nguyên dương được gọi là số bạn bè nếu tổng các ước số của số này bằng chính số kia. Hãy viết chương trình kiểm tra xem 2 số nhập vào có phải là số bạn bè hay không. Nếu phải thì xuất 'YES', ngược lại là 'NO'
  8. Một số nguyên dương có n chữ số được gọi là số Armstrong khi tổng các lũy thừa bậc n của các chữ số của nó bằng chính nó. Hãy kiểm tra xem một số nguyên dương N nhập vào từ bàn phím có phải là số Armstrong hay không. Nếu phải thì xuất 'YES', ngược lại là 'NO'.

Ví dụ:

371 là số Armstrong vì: 3^3 + 7^3 + 1^3 = 371

8208 là số Armstrong vì: 8^4 + 2^4 + 8^4 = 8208

  1. Hãy tìm tất cả các số Armstrong trong đoạn [A; B] với A, B là 2 số nhập từ bàn phím. Nếu không có thì xuất ra thông báo “Không có số nào”
  2. Cho trước số nguyên dương n. Hãy xuất ra màn hình tất cả các bộ 3 số Pytago mà cả 3 số đều <= n (mỗi bộ số 1 dòng và xuất theo thứ tự tăng dần của các cạnh).

Với 3 số nguyên dương cho trước (a < b < c), nếu 3 số đó là độ dài 3 cạnh của một tam giác vuông thì bộ 3 số này được gọi là bộ 3 số Pytago.

Ví dụ: n=13 ta có 3 bộ số pytago

(3,  4,  5)
(5,  12,  13)
(6,  8,  10)

  1. Nhập vào 1 số nguyên ở hệ thập phân, yêu cầu xuất ra 1 số ở hệ nhị phân.