Q a m a t h

Loading...
Vui lòng chờ trong giây lát!

[Python] 5 Bài tập Python cơ bản – Phần 1 (Lời giải)

Python
là một ngôn ngữ lập trình đa mẫu hình, lập trình hướng đối tượng và lập trình cấu trúc được hỗ trợ hoàn toàn, và nhiều tính năng của nó cũng hỗ trợ lập trình hàm và lập trình hướng khía cạnh (bao gồm siêu lập trình và siêu đối tượng (phương thức thần kỳ)).Các mẫu hình khác cũng được hỗ trợ thông qua các phần mở rộng, bao gồm thiết kế theo hợp đồng và lập trình logic.

I. Bài tập Python mức độ 1
1. Nhập ký tự
Đề bài 1: Tạo một chương trình để in dòng chữ "Hello World"
Lời giải:
 
a = "Hello World"
print(a)

Đề bài 2: Tạo một chương trình yêu cầu người dùng nhập tên và tuổi của họ. Gửi lại họ một tin nhắn cho biết năm họ sẽ tròn 100 tuổi.
Lời giải:
 
name = input("What is your name: ")
age = int(input("How old are you: "))
year = str((2020 - age) + 100)
print(name + " will be 100 years old in the year " + year)

Đề bài 3: Viết một chương trình tính giai thừa của một số nguyên dương n. Với n được nhập từ bàn phím.
Ví dụ, n = 8 thì kết quả đầu ra phải là 1*2*3*4*5*6*7*8 = 40320.
Lời giải:
 
n = int(input("Nhập số cần tính giai thừa: ")) 
def giaiThua(n):
    if n == 0:
        return 1
    return n * giaiThua(n - 1)
print (giaiThua(n))

Đề bài 4:Viết chương trình giải phương trình bậc hai: ax^2 + bx + c = 0. Với a,b,c được nhập từ bàn phím.
Ví dụ:
Nhập hệ số bậc 2, a = 2
Nhập hệ số bậc 1, b = 1
Nhập hằng số tự do, Python = -1
Phương trình có 2 nghiệm là: x1 =  0.5  và x2 =  -1.0

Lời giải:
import math
 
"""
# Giải phương trình bậc 2: ax2 + bx + c = 0
# @param a: hệ số bậc 2
# @param b: hệ số bậc 1
# @param c: số hạng tự do
"""
def giaiPTBac2(a, b, c):
    # kiểm tra các hệ số
    if (a == 0):
        if (b == 0):
            print ("Phương trình vô nghiệm!");
        else:
            print ("Phương trình có một nghiệm: x = ", + (-c / b));
        return;
 
    # tính delta
    delta = b * b - 4 * a * c;
    # tính nghiệm
    if (delta > 0):
        x1 = (float)((-b + math.sqrt(delta)) / (2 * a));
        x2 = (float)((-b - math.sqrt(delta)) / (2 * a));
        print ("Phương trình có 2 nghiệm là: x1 = ", x1, " và x2 = ", x2);
    elif (delta == 0):
        x1 = (-b / (2 * a));
        print("Phương trình có nghiệm kép: x1 = x2 = ", x1);
    else:
        print("Phương trình vô nghiệm!");
 
# Nhập các hệ số
a = float(input("Nhập hệ số bậc 2, a = "));
b = float(input("Nhập hệ số bậc 1, b = "));
c = float(input("Nhập hằng số tự do, Python = "));
# Gọi hàm giải phương trình bậc 2
giaiPTBac2(a, b, c)

Đề bài 5: Viết chương trình tìm ước số chung lớn nhất (USCLN) và bội số chung nhỏ nhất (BSCNN) của hai số nguyên dương a và b nhập từ bàn phím.
Ví dụ :
Nhập số nguyên dương a = 15
Nhập số nguyên dương b = 20
Ước số chung lớn nhất của 15 và 20 là: 5
Bội số chung nhỏ nhất của 15 và 20 là: 60

Lời giải:
"""
 * Tìm ước số chung lớn nhất (USCLN)
 *
 * @param a: số nguyên dương
 * @param b: số nguyên dương
 * @return USCLN của a và b
"""
def uscln(a, b):
    if (b == 0):
        return a;
    return uscln(b, a % b);
 
"""
 * Tìm bội số chung nhỏ nhất (BSCNN)
 * 
 * @param a: số nguyên dương
 * @param b: số nguyên dương
 * @return BSCNN của a và b
"""
def bscnn(a, b):
    return int((a * b) / uscln(a, b));
 
a = int(input("Nhập số nguyên dương a = "));
b = int(input("Nhập số nguyên dương b = "));
#tính USCLN của a và b
print("Ước số chung lớn nhất của", a, "và", b, "là:", uscln(a, b));
#tính BSCNN của a và b
print("Bội số chung nhỏ nhất của", a, "và", b, "là:", bscnn(a, b));
Mới hơn Cũ hơn
Trang trí đón tết cho blog/website bằng hình ảnh câu đối, cành mai Trang trí đón tết cho blog/website bằng hình ảnh câu đối, cành mai