In ra các số từ 1 đến n Python

In các số nguyên tố nhỏ hơn n bằng Python




Đề bài: Viết chương trình sử dụng ngôn ngữ lập trình Python liệt kê các số nguyên tố không quá n.
Yêu cầu kiến thức:

  • Áp dụng vòng lặp for trong Python để ràng buộc số lần lặp
  • Kiểm tra tính chất của số nguyên tố

Code tham khảo dưới đây được viết bằng Python 3.8:


# Ho ten: Hoang Van Tuan
# Website: timoday.edu.vn
import math


def isPrimeNum[n]:
    if n < 2:
        return False
    tg = int[math.sqrt[n]]
    for i in range[2, tg + 1]:
        if [n % i] == 0:
            return False
    return True


n = int[input['Nhap vao so nguyen duong n = ']]
print['Cac so nguyen to khong qua ', n, ' la:']
if n >= 2:
    print[2]
    for i in range[3, n + 1]:
        if isPrimeNum[i]:
            print[i]
        i = i + 2


Kết luận:

  • Bạn có thể tham khảo thêm khóa học lập trình C từ cơ bản đến nâng cao. Xem tại đây
  • Bạn có thể tham khảo thêm khóa học Thành thạo lập trình C#. Xem tại đây

Đây là chương trinh tính tổng từ 1 đến n với n được nhập từ bàn phím, sử dụng ngôn ngữ Python để giải.

Với bài này thì ta chỉ cần sử dụng hai thao tác như sau:

  • Tạo một biến sum để lưu trữ tổng của dãy số đó
  • Sử dụng vòng lặp để lặp qua từ 1 đến n

Ta sẽ sử dụng hàm input để yêu cầu người dùng nhập vào số n.

Sử dụng vòng lặp for:

tong = 0
n = 1
 

print["Tính tổng S[n] = 1 + 2 + 3 + … + n"]
 
# Nhập dữ liệu
print["hãy nhập vào số n: "]
n = int[input[]]
 
# Tính tổng
for i in range[0, n+1]:
    tong += i
 
# In kết quả
print ["Tổng là: ", tong]

Sử dụng vòng lặp while:

tong = 0
n = 1
i = 1
 

print["Tính tổng S[n] = 1 + 2 + 3 + … + n"]
 
# Nhập dữ liệu
print["hãy nhập vào số n: "]
n = int[input[]]
 
# Tính tổng
while i  0 thì gọi đệ quy trả về n + tinh_tong[n-1]
  • Nếu n == 0 thì trả về 0
  • Sử dụng cấu trúc Xử lý ngoại lệ để xử lý các trường hợp gây ra lỗi
  • Đặt toàn bộ chương trình trong khối try.
  • Dùng hàm input[] để nhập giá trị n từ bàn phím.
  • Chuyển giá trị n mới nhận được sang kiểu số nguyên, vì các giá trị nhận được từ hàm input[] mặc định sẽ ở kiểu chuỗi.
  • Sử dụng cấu trúc rẽ nhánh để xử lý trường hợp âm. Hiển thị thông báo nếu có.
  • Gọi hàm tinh_tong và truyền vào tham số n.
  • Hiển thị ra màn hình kết quả theo định dạng đầu ra yêu cầu
  • Lỗi sẽ phát sinh ở lệnh ép kiểu nếu định dạng đầu vào không hợp lệ. Dùng lệnh except để bắt lỗi:
  • Dùng hàm print[] hiển thị thông báo lỗi ra màn hình
  • Code mẫu

    #Dinh nghia ham
    def tinh_tong[n]:
       if n:
           return n + tinh_tong[n-1]
       return 0
    #Khoi lenh co the phat sinh loi
    try:
       #Nhap gia tri tu ban phim
       #Ep kieu du lieu sang so nguyen
       n = int[input[]]
       #Su dung cau truc re nhanh xu ly truong hop so am
       if n < 0:
           print["Vui long nhap so tu nhien!"]
       else:   
           #Goi thuc thi ham va truyen tham so cho ham
           print[tinh_tong[n]]
    #Khoi lenh duoc thuc thi khi loi xay ra
    except:
       print["Dinh dang dau vao khong hop le!"]
    

    Kết luận

    Trong bài này, Kteam đã hướng dẫn bạn cách viết hàm trả về tổng các số từ 1 đến n [Dùng đệ quy]. Với tham số là số tự nhiên n. Thêm bài giải của bạn vào phần bình luận để được Kteam review code và fix lỗi [nếu có] trong livestream của khóa học này.

    Ở bài tiếp theo, chúng ta sẽ cũng nhau học cách VIẾT HÀM MÁY TÍNH ĐƠN GIẢN CHO HAI SỐ THỰC. [CHỨA 4 HÀM CON +, -, x, %]

    Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của bạn để phát triển bài viết tốt hơn. Đừng quên " Luyện tập - Thử Thách - Không ngại khó!"

    Tải xuống

    Project

    Nếu việc thực hành theo hướng dẫn không diễn ra suôn sẻ như mong muốn. Bạn cũng có thể tải xuống PROJECT THAM KHẢO ở link bên dưới!

    Thảo luận

    Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần BÌNH LUẬN bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.

    Chủ Đề