#In ra số ở dạng chuỗi:
number = input("Nhập một số:")
print("Số bạn đã nhập:",number)
Bài 3
Nhập vào sĩ số của một lớp và cho biết bạn có bao nhiêu người bạn trong lớp.
#Số để xử lý phép tính thì cần đổi sang dạng int hoặc float
n = int(input('Lớp bạn có bao nhiêu người? '))
print('Vậy bạn có', n-1, 'người bạn trong lớp')
Bài 4
Nhập vào 2 số nguyên dương a và b. Tính tổng, hiệu, tích, thương, chia lấy nguyên, chia lấy dư của 2 số đó và in kết quả ra màn hình.
a = int(input('Nhập a: '))
b = int(input('Nhập b:'))
tong = a + b
hieu = a - b
tich = a * b
thuong = a / b
print('Tổng 2 số:', tong)
print('Hiệu 2 số:', hieu)
print('Tích 2 số:', tich)
print('Thương 2 số:', thuong)
Bài 5
Viết chương trình nhập vào 2 số. Hoán đổi giá trị của 2 số đó.
a = int(input('Nhập giá trị a: '))
b = int(input('Nhập giá trị b: '))
a, b = b, a
print("Giá trị a: ", a)
print("Giá trị b: ", b)
Bài 6
Viết chương trình cho biết chữ số hàng trăm, hàng chục, hàng đơn vị của một số có 3 chữ số.
n = int(input('Nhập số n: '))
print('Chữ số hàng trăm: ', n // 100)
n = n % 100
print('Chữ số hàng chục: ', n // 10)
n = n % 10
print('Chữ số hàng đơn vị: ', n)
Bài 7
Nhập vào 1 cạnh của một hình vuông. In ra màn hình diện tích và chu vi của nó.
a = int(input('Nhập vào một cạnh:'))
dt = a * a
cv = a * 4
print('Diện tích hình vuông:', dt)
print('Chu vi hình vuông:', cv)
Bài 8
Nhập vào 2 cạnh của một hình chữ nhật. In ra màn hình diện tích và chu vi của nó.
a = float(input('Nhập chiều dài:'))
b = float(input('Nhập chiều rộng:'))
s = a * b
p = (a + b) * 2
print('Diện tích hình chữ nhật:', s)
print('Chu vi hình chữ nhật:', p)
Bài 9
Nhập vào bán kính của hình tròn. In ra màn hình diện tích và chu vi của nó (kết quả làm tròn 2 chữ số thập phân).
pi = 3.14
r = float(input('Nhập bán kính R='))
dt = pi * r * r
cv = 2 * pi * r
print(f'Diện tích hình tròn là:{dt:.2f}')
print(f'Chu vi hình tròn là:{cv:.2f}')
Bài 10
Tìm giá trị lớn nhất trong 4 số nguyên a, b, c, d (a, b, c, d được nhập vào từ bàn phím).
a=int(input('Nhập a: '))
b=int(input('Nhập b: '))
c=int(input('Nhập c: '))
d=int(input('Nhập d: '))
m = max(a, b, c, d)
print('Giá trị lớn nhất trong 4 số:', m)
Bài 11
Nhập vào số n, hãy nhân n lên cho 3, rồi cộng 1 sau đó in kết quả ra màn hình.
n = int(input("Nhập số n: "))
result = n * 3 + 1
print("Kết quả là:", result)
Bài 12
Nhập vào số n, hãy mũ 2 rồi chia cho 3, sau đó in kết quả ra màn hình.
n = int(input("Nhập số n: "))
result = (n ** 2) / 3
print("Kết quả là:", result)
Bài 1
Nhập vào một số nguyên, kiểm tra nếu số đó lớn hơn 0 thì in ra "Số dương", ngược lại in ra "Số âm".
Lời giải:
n = int(input("Nhập số nguyên: "))
if n > 0:
print("Số dương")
else:
print("Số âm")
Bài 2
Nhập vào số nguyên a, nếu a là số chẵn thì in "Số chẵn", ngược lại in "Số lẻ".
Lời giải:
a = int(input("Nhập số nguyên a: "))
if a % 2 == 0:
print("Số chẵn")
else:
print("Số lẻ")
Bài 3
Nhập vào 3 số nguyên, kiểm tra xem số nào là số lớn nhất.
Lời giải:
a = int(input("Nhập số a: "))
b = int(input("Nhập số b: "))
c = int(input("Nhập số c: "))
if a >= b and a >= c:
print("Số lớn nhất là:", a)
elif b >= a and b >= c:
print("Số lớn nhất là:", b)
else:
print("Số lớn nhất là:", c)
Bài 4
Nhập vào một năm, kiểm tra xem năm đó có phải năm nhuận hay không?
Lời giải:
year = int(input("Nhập năm: "))
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
print("Năm nhuận")
else:
print("Không phải năm nhuận")
Bài 5
Nhập vào hai số nguyên a và b. Kiểm tra xem a có chia hết cho b không?
Lời giải:
a = int(input("Nhập số a: "))
b = int(input("Nhập số b: "))
if b != 0 and a % b == 0:
print("a chia hết cho b")
else:
print("a không chia hết cho b")
Bài 6
Nhập vào một điểm số (từ 0 đến 100). Phân loại kết quả như sau:
Nhập vào một số nguyên, kiểm tra xem số đó có phải là số nguyên tố hay không (chỉ áp dụng cho các số nhỏ hơn 10).
Lời giải:
n = int(input("Nhập số nguyên: "))
if n < 2:
print("Không phải số nguyên tố")
elif n == 2:
print("Số nguyên tố")
elif n == 3:
print("Số nguyên tố")
elif n == 5:
print("Số nguyên tố")
elif n == 7:
print("Số nguyên tố")
else:
print("Không phải số nguyên tố")
Bài 10
Nhập vào một số nguyên n, kiểm tra nếu n là bội của 3 hoặc 5 thì in ra "Bội của 3 hoặc 5".
Lời giải:
n = int(input("Nhập số nguyên n: "))
if n % 3 == 0 or n % 5 == 0:
print("Bội của 3 hoặc 5")
else:
print("Không phải bội của 3 hoặc 5")
Bài 1
Cho trước chữ cái x và số nguyên n. Hãy in chữ cái đó n lần.
Lời giải:
# Sử dụng split để tách 2 giá trị nhập vào cùng 1 lúc, cách nhau dấu cách
x, n = input("Nhập chữ cái và số nguyên n: ").split()
n = int(n)
print(x * n)
Bài 2
Nhập vào một số nguyên n, in ra các số từ 1 đến n.
Lời giải:
n = int(input("Nhập số nguyên n: "))
for i in range(1, n+1):
print(i, end=" ")
Bài 3
Cho số nguyên dương n. Em hãy in ra các số nguyên dương chẵn nhỏ hơn hoặc bằng n.
Lời giải:
n = int(input("Nhập số nguyên dương n: "))
# Cách 1: Dùng bước nhảy 2 để lấy số chẵn
for i in range(2, n+1, 2):
print(i, end=" ")
# Cách 2: Dùng if kiểm tra số chẵn
for i in range(1, n+1):
if i % 2 == 0:
print(i, end=" ")
Bài 4
In ra bảng cửu chương của số 2.
Lời giải:
for i in range(1, 11):
print(f'2 x {i} = {2 * i}')
Bài 5
Tính tổng các số từ 1 đến n (n nhập từ bàn phím).
Lời giải:
n = int(input("Nhập n: "))
sum = 0
for i in range(1, n+1):
sum += i
print(f'Tổng các số từ 1 đến {n} là: {sum}')
Bài 6
Tính tổng các số chẵn từ 1 đến n (n nhập từ bàn phím).
Lời giải:
n = int(input("Nhập n: "))
sum = 0
for i in range(2, n+1, 2):
sum += i
print(f'Tổng các số chẵn từ 1 đến {n} là: {sum}')
Bài 7
Tính tổng các số lẻ từ 1 đến n (n nhập từ bàn phím).
Lời giải:
n = int(input("Nhập n: "))
tongle = 0
for i in range(1, n+1):
if i%2==1:
tongle += i
print('Tổng các số lẻ từ 1 đến ',n, ' là:', tongle)
Bài 8
Tính tổng các số chia hết cho 5 từ 1 đến n (n nhập từ bàn phím).
Lời giải:
n = int(input("Nhập n: "))
sum = 0
i = 5
for i in range(1, n+1):
sum += i
i += 5
print("Tổng là:", sum)
Bài 9
Cho hai số nguyên N và M. Tìm UCLN của N và M.
Lời giải:
def ucln(a, b):
while b != 0:
a, b = b, a % b
return abs(a)
N, M = map(int, input("Nhập hai số N và M: ").split())
print("UCLN của N và M:", ucln(N, M))
Bài 10
Nhập một số nguyên dương N. Đếm và tìm tất cả các số chính phương nhỏ hơn hoặc bằng N.
Lời giải:
import math
N = int(input("Nhập số N: "))
squares = []
# Tìm tất cả các số chính phương nhỏ hơn hoặc bằng N
for i in range(1, int(math.sqrt(N)) + 1):
squares.append(i * i)
# In kết quả
print("Số lượng số chính phương:", len(squares))
print("Các số chính phương:", " ".join(map(str, squares)))
Bài 11
Cho số nguyên dương N (N <= 2 tỷ). Hãy kiểm tra xem số N có phải là số nguyên tố không? Số nguyên tố là số tự nhiên có duy nhất hai ước là 1 và chính nó.
Lời giải:
import math
# Nhập số nguyên dương N
N = int(input("Nhập số N: "))
# Kiểm tra nếu N là số nguyên tố
if N <= 1:
print("NO")
else:
is_prime = True
for i in range(2, int(math.sqrt(N)) + 1):
if N % i == 0:
is_prime = False
break
if is_prime:
print("YES")
else:
print("NO")
Bài 12
Hôm nay, cô giáo vừa dạy cho Tý về số phong phú. Số N được gọi là số phong phú nếu như N nhỏ hơn tổng các ước của nó (không kể chính nó).
Lời giải:
# Nhập số nguyên dương N
N = int(input("Nhập số N: "))
# Tính tổng các ước của N (không tính chính nó)
sum_divisors = 0
for i in range(1, int(N/2) + 1):
if N % i == 0:
sum_divisors += i
# Kiểm tra nếu N là số phong phú
if N < sum_divisors:
print(1) # N là số phong phú
else:
print(0) # N không phải là số phong phú
Bài 13
Số nguyên n gọi là số đối xứng nếu đọc từ trái qua phải, hay từ phải qua trái đều được số giống nhau. Ví dụ: 11, 121, 101 là các số đối xứng.
Lời giải:
# Nhập số nguyên dương n
n = int(input("Nhập số n: "))
# Chuyển số n thành chuỗi để dễ dàng kiểm tra số đối xứng
n_str = str(n)
# Kiểm tra nếu số n là số đối xứng
if n_str == n_str[::-1]:
print("YES") # Số n là số đối xứng
else:
print("NO") # Số n không phải là số đối xứng
Bài 14
Người phương Đông quan niệm số đẹp là các số tự nhiên chỉ chứa hai số 6 hoặc 8. Ví dụ: 6, 8, 66, 68, 86, 88, 886, 668... là những số đẹp, 468, 5, 728... không phải là những số đẹp.
Lời giải:
# Nhập số nguyên dương N
n = input("Nhập số N: ")
# Kiểm tra nếu số N chỉ chứa chữ số 6 và 8
if all(c in '68' for c in n):
print("YES") # Nếu tất cả các chữ số là 6 hoặc 8
else:
print("NO") # Nếu có chữ số khác 6 hoặc 8
Bài 15
Nhập một số nguyên dương n (n ≤ 10^9). Hãy phân n thành tích của hai số nguyên dương x và y (trong đó x ≤ y) sao cho tổng của chúng là nhỏ nhất.
Lời giải:
import math
# Nhập số nguyên dương n
n = int(input("Nhập số N: "))
# Khởi tạo giá trị x và y ban đầu
x, y = 1, n
# Lặp qua các số từ 1 đến sqrt(n) để tìm các ước của n
for i in range(1, int(math.sqrt(n)) + 1):
if n % i == 0: # Nếu i là ước của n
a, b = i, n // i
# Kiểm tra nếu tổng a + b nhỏ hơn tổng x + y
if a + b < x + y:
x, y = a, b
print(x, y) # In ra kết quả
Bài 16
In ra dãy số Fibonacci đến số thứ n (n nhập từ bàn phím).
Lời giải:
n = int(input("Nhập n: "))
a, b = 0, 1
for _ in range(n):
print(a, end=" ")
a, b = b, a + b
Bài 17
Đếm số lượng số nguyên tố nhỏ hơn hoặc bằng n (n nhập từ bàn phím).
Lời giải:
n = int(input("Nhập n: "))
count = 0
for num in range(2, n+1):
is_prime = True
for i in range(2, num):
if num % i == 0:
is_prime = False
break
if is_prime:
count += 1
print(f'Số lượng số nguyên tố nhỏ hơn hoặc bằng {n} là: {count}')
Bài 18
Tính giai thừa của một số n (n nhập từ bàn phím).
Lời giải:
n = int(input("Nhập n: "))
fact = 1
for i in range(1, n+1):
fact *= i
print(f'Giai thừa của {n} là: {fact}')
Bài 19
In ra các số chia hết cho 3 trong khoảng từ 1 đến n (n nhập từ bàn phím).
Lời giải:
n = int(input("Nhập n: "))
for i in range(1, n+1):
if i % 3 == 0:
print(i, end=" ")
Bài 20
Ta gọi phép nén một số nguyên là tính tổng các chữ số của nó. Dễ thấy, sau một số phép nén, thì số còn lại chỉ có một chữ số và không nén được nữa. Ta gọi số đó là số nén tối giản. Ví dụ cho số 86. Sau phép nén thứ nhất ta có: 8 + 6 = 14. Sau phép nén thứ 2: 1 + 4 = 5 => Số nén tối giản của 86 là 5. Hãy tìm số nén tối giản của một số nguyên N.
Lời giải:
# Nhập số nguyên N
n = int(input("Nhập số nguyên N: "))
# Tiến hành phép nén số
while n >= 10:
n = sum(int(digit) for digit in str(n)) # Cộng tất cả các chữ số
print(n) # In ra số nén tối giản
Bài 1
In ra các số từ 1 đến n (n nhập từ bàn phím).
Lời giải:
n = int(input("Nhập n: "))
i = 1
while i <= n:
print(i, end=" ")
i += 1
Bài 2
Tính tổng các số từ 1 đến n (n nhập từ bàn phím).
Lời giải:
n = int(input("Nhập n: "))
sum = 0
i = 1
while i <= n:
sum += i
i += 1
print("Tổng là:", sum)
Bài 3
In ra các số chẵn từ 1 đến n (n nhập từ bàn phím).
Lời giải:
n = int(input("Nhập n: "))
i = 2
while i <= n:
print(i, end=" ")
i += 2
Bài 4
Cho số tự nhiên N. Đếm và tính tổng các chữ số của N.
Lời giải:
N = int(input("Nhập số tự nhiên N: "))
dem = 0
tong = 0
# Duyệt qua từng chữ số của N
while N > 0:
N = N % 10
tong += N
dem += 1
N //= 10
print("Số lượng chữ số:", dem)
print("Tổng các chữ số:", tong)
Bài 5
In ra các số chia hết cho 3 từ 1 đến n (n nhập từ bàn phím).
Lời giải:
n = int(input("Nhập n: "))
i = 3
while i <= n:
print(i, end=" ")
i += 3
Bài 6
Nhập vào một số nguyên n, kiểm tra xem n có phải là số hoàn hảo hay không.
Lời giải:
n = int(input("Nhập vào một số: "))
i = 1
tonguoc = 0
while i < n:
if n % i == 0:
print(i, end=' ')
tonguoc += i
i += 1
print()
print(tonguoc)
if n == tonguoc:
print(n, " là số hoàn hảo")
else:
print(n, " không là số hoàn hảo")
Bài 7
Tìm số hoàn hảo đầu tiên lớn hơn một số nguyên n (n nhập từ bàn phím).
Lời giải:
n = int(input("Nhập giá trị của n: "))
so_hoanhao = n + 1
tim_ra = False
while tim_ra == False:
tong_uocso = 0
for i in range(1, so_hoanhao):
if so_hoanhao % i == 0:
tong_uocso += i
if tong_uocso == so_hoanhao:
tim_ra = True
print("Số hoàn hảo đầu tiên lớn hơn ", n, " là ", so_hoanhao)
else:
so_hoanhao = so_hoanhao + 1
Bài 8
Đếm số lượng số nguyên tố nhỏ hơn hoặc bằng n (n nhập từ bàn phím).
Lời giải:
n = int(input("Nhập n: "))
count = 0
i = 2
while i <= n:
is_prime = True
j = 2
while j <= i//2:
if i % j == 0:
is_prime = False
break
j += 1
if is_prime:
count += 1
i += 1
print("Số lượng số nguyên tố:", count)
Bài 9
In ra các số đối xứng từ 1 đến n (n nhập từ bàn phím).
Lời giải:
n = int(input("Nhập n: "))
i = 1
while i <= n:
if str(i) == str(i)[::-1]:
print(i, end=" ")
i += 1
Bài 10
In ra các số đối xứng từ 1 đến n (n nhập từ bàn phím).
Lời giải:
n = int(input("Nhập n: "))
i = 1
while i <= n:
if str(i) == str(i)[::-1]:
print(i, end=" ")
i += 1
Bài 1
Cho một danh sách có sẵn. Hãy in ra các phần tử trong danh sách đó.
Lời giải:
ds = [11, 13, 6, 4, 9]
for i in range(len(ds)):
print(ds[i], end=" ")
Bài 2
Cho một danh sách có sẵn. Đếm số lượng phần tử là số lẻ trong danh sách đó.
Lời giải:
ds = [1, 3, 8, 5, 4, 9]
dem = 0
for i in range(len(ds)):
if ds[i] % 2 == 1:
dem += 1
print(dem)
Bài 3
Cho một danh sách có sẵn. Đếm số lượng phần tử chẵn trong danh sách đó.
Lời giải:
ds = [11, 10, 13, 6, 4, 9]
dem = 0
for i in range(len(ds)):
if ds[i] % 2 == 0:
dem += 1
print(dem)
Bài 4
Cho một danh sách có sẵn. Tính tổng các phần tử là số dương trong danh sách đó.
Lời giải:
ds = [-11, 10, -13, -6, 4, 9]
tong = 0
for i in range(len(ds)):
if ds[i] > 0:
tong += ds[i]
print(tong)
Bài 5
Cho một danh sách có sẵn. Tính tổng các phần tử chẵn trong danh sách đó.
Lời giải:
ds = [11, 10, 13, 6, 4, 9]
tong = 0
for i in range(len(ds)):
if ds[i] % 2 == 0:
tong += ds[i]
print(tong)
Bài 6
Nhập danh sách gồm 5 phần tử. In tất cả các phần tử trong danh sách; In tất cả các phần tử có giá trị chẵn.
Lời giải:
# Nhập danh sách số nguyên
ds = []
for i in range(5):
so = int(input("Nhập phần tử thứ "+str(i+1)+" : "))
ds.append(so)
# In danh sách số
print("Danh sách số nguyên vừa nhập:", ds)
# In danh sách phần tử giá trị chẵn
for i in range(5):
if ds[i] % 2 == 0:
print(ds[i], end=" ")
Bài 7
Nhập danh sách gồm 5 phần tử. In tất cả các phần tử trong danh sách; In tất cả các phần tử có giá trị lẻ.
Lời giải:
# Nhập danh sách số nguyên
ds = []
for i in range(5):
so = int(input("Nhập phần tử thứ "+str(i+1)+" : "))
ds.append(so)
# In danh sách số
print("Danh sách số nguyên vừa nhập:", ds)
# In danh sách phần tử giá trị lẻ
for i in range(5):
if ds[i] % 2 == 1:
print(ds[i], end=" ")
Bài 8
Nhập danh sách gồm n phần tử. In tất cả các phần tử trong danh sách; Tính tổng và giá trị trung bình các phần tử trong danh sách.
Lời giải:
# Nhập danh sách số nguyên
n = int(input("Nhập số phần tử của danh sách: "))
ds = []
Tong = 0
for i in range(n):
so = int(input("Nhập phần tử thứ "+str(i+1)+" : "))
ds.append(so)
Tong += so
# In danh sách số
print("Danh sách số nguyên vừa nhập:", ds)
# Tính tổng và giá trị trung bình
print("Tổng các phần tử:", Tong)
print("Giá trị trung bình:", Tong / n)
Bài 9
Nhập danh sách gồm n phần tử. In tất cả các phần tử trong danh sách; Đếm và tính tổng các phần tử dương trong danh sách.
Lời giải:
# Nhập danh sách số nguyên
n = int(input("Nhập số phần tử của danh sách: "))
ds = []
Tong_duong = 0
dem_duong = 0
for i in range(n):
so = int(input("Nhập phần tử thứ "+str(i+1)+" : "))
ds.append(so)
if so > 0:
Tong_duong += so
dem_duong += 1
# In danh sách số
print("Danh sách số nguyên vừa nhập:", ds)
# Đếm và tính tổng phần tử dương
print("Số phần tử dương:", dem_duong)
print("Tổng các số dương:", Tong_duong)
Bài 10
Nhập danh sách gồm n phần tử. Hãy thực hiện chèn phần tử x vào vị trí k trong danh sách. In ra tất cả các phần tử trong danh sách mới đó.
Lời giải:
# Nhập danh sách số nguyên
n = int(input("Nhập số phần tử của danh sách: "))
ds = []
for i in range(n):
so = int(input("Nhập phần tử thứ "+str(i+1)+" : "))
ds.append(so)
# Chèn phần tử x vào vị trí k
x = int(input("Nhập giá trị cần chèn: "))
k = int(input("Nhập vị trí cần chèn (tính từ 0): "))
if 0 <= k <= len(ds): # Kiểm tra vị trí hợp lệ
ds.insert(k, x)
print("Danh sách sau khi chèn:", ds)
else:
print("Vị trí chèn không hợp lệ!")
Bài 11
Đếm số lượng phần tử trong một list (danh sách nhập từ bàn phím).
Lời giải:
ds = input("Nhập các phần tử của danh sách (cách nhau bằng dấu phẩy): ").split(',')
print("Số lượng phần tử trong danh sách:", len(ds))
Bài 12
Kiểm tra xem một phần tử có có trong list hay không (list và phần tử nhập từ bàn phím).
Lời giải:
ds = input("Nhập các phần tử của danh sách (cách nhau bằng dấu phẩy): ").split(',')
ptu = input("Nhập phần tử cần kiểm tra: ")
if ptu in range(len(ds)):
print("Phần tử ",ptu," có trong danh sách.")
else:
print("Phần tử ",ptu," không có trong danh sách.")
Bài 13
Thêm một phần tử vào cuối list (list và phần tử nhập từ bàn phím).
Lời giải:
ds = input("Nhập các phần tử của danh sách (cách nhau bằng dấu phẩy): ").split(',')
ptu = input("Nhập phần tử cần thêm vào danh sách: ")
ds.append(ptu)
print("Danh sách sau khi thêm phần tử:", lst)
Bài 14
Loại bỏ một phần tử trong list (list và phần tử nhập từ bàn phím).
Lời giải:
ds = input("Nhập các phần tử của danh sách (cách nhau bằng dấu phẩy): ").split(',')
ptu = input("Nhập phần tử cần loại bỏ: ")
if ptu in range(len(ds):
lst.remove(ptu)
print("Danh sách sau khi loại bỏ phần tử:", ds)
else:
print("Phần tử ",ptu," không có trong danh sách.")
Bài 15
Sắp xếp một danh sách theo thứ tự tăng dần (danh sách nhập từ bàn phím).
Lời giải:
ds = list(map(int, input("Nhập các phần tử của danh sách (cách nhau bằng dấu phẩy): ").split(',')))
ds.sort()
print("Danh sách sau khi sắp xếp:", ds)
Bài 16
Sắp xếp một danh sách theo thứ tự giảm dần (danh sách nhập từ bàn phím).
Lời giải:
ds = list(map(int, input("Nhập các phần tử của danh sách (cách nhau bằng dấu phẩy): ").split(',')))
ds.sort(reverse=True)
print("Danh sách sau khi sắp xếp giảm dần:", ds)
Bài 17
Kiểm tra xem một danh sách có rỗng hay không (danh sách nhập từ bàn phím).
Lời giải:
ds = input("Nhập các phần tử của danh sách (cách nhau bằng dấu phẩy): ").split(',')
if not ds:
print("Danh sách rỗng.")
else:
print("Danh sách không rỗng.")
Bài 18
In ra phần tử lớn nhất và nhỏ nhất trong danh sách (danh sách nhập từ bàn phím).
Lời giải:
ds = list(map(int, input("Nhập các phần tử của danh sách (cách nhau bằng dấu phẩy): ").split(',')))
print("Phần tử lớn nhất:", max(ds))
print("Phần tử nhỏ nhất:", min(ds))
Bài 19
Nhân tất cả các phần tử trong danh sách với một giá trị cho trước (danh sách và giá trị nhập từ bàn phím).
Lời giải:
ds = list(map(int, input("Nhập các phần tử của danh sách (cách nhau bằng dấu phẩy): ").split(',')))
value = int(input("Nhập giá trị cần nhân: "))
ds = [x * value for x in lst]
print("Danh sách sau khi nhân:", ds)
Bài 20
In ra các phần tử chẵn trong danh sách (danh sách nhập từ bàn phím).
Lời giải:
ds = list(map(int, input("Nhập các phần tử của danh sách (cách nhau bằng dấu phẩy): ").split(',')))
ptu_chan = [x for x in lst if x % 2 == 0]
print("Các phần tử chẵn trong danh sách:", ptu_chan)
Bài 1
Nhập vào số lượng học sinh và danh sách họ tên. In danh sách ra màn hình.
Lời giải:
# Nhập số lượng học sinh
n = int(input("Nhập số lượng học sinh: "))
ds_lop = []
for i in range(n):
hoten = input("Nhập họ và tên học sinh thứ " + str(i+1) + ": ")
ds_lop.append(hoten)
print("Danh sách học sinh:", ds_lop)
Bài 2
Nhập một xâu ký tự và kiểm tra xem nó có chứa "10" hay không.
Lời giải:
S = input("Nhập một xâu ký tự: ")
if "10" in S:
print("Xâu có chứa '10'.")
else:
print("Xâu không chứa '10'.")
Bài 3
Nhập một địa chỉ email và kiểm tra xem nó có hợp lệ không (chỉ cần chứa ký tự "@").
Lời giải:
email = input("Nhập địa chỉ email của bạn: ")
if "@" in email:
print("Email hợp lệ.")
else:
print("Email không hợp lệ! Vui lòng nhập lại.")
Bài 4
Hãy trích xuất ra 3 ký tự đầu tiên của một xâu cho trước.
Lời giải:
S = "Tin học"
xau_con = S[0:3]
print(xau_con)
Bài 5
Chèn xâu "Phú Yên " vào giữa xâu "Tự hào quê tôi" tại vị trí len(s2)//2.
Lời giải:
s1 = "Phú Yên "
s2 = "Tự hào quê tôi"
# Tìm vị trí giữa của xâu s2
mid = len(s2) // 2
# Chèn s1 vào giữa s2
result = s2[:mid] + s1 + s2[mid:]
print(result)
Bài 6
Nhập hai xâu s1 và s2, sau đó chèn s1 vào giữa s2 tại vị trí len(s2)//2.
Lời giải:
# Nhập hai xâu s1 và s2 từ người dùng
s1 = input("Nhập xâu s1: ")
s2 = input("Nhập xâu s2: ")
# Tìm vị trí giữa của xâu s2
mid = len(s2) // 2
# Chèn s1 vào giữa s2
result = s2[:mid] + s1 + s2[mid:]
print(result)
Bài 7
Kiểm tra xem một xâu có chứa chữ số hay không.
Lời giải:
# Nhập một xâu kí tự từ bàn phím
S = input("Nhập xâu kí tự: ")
# Biến cờ để kiểm tra xem xâu có chứa chữ số hay không
co_chu_so = False
# Duyệt qua từng ký tự trong xâu
for ch in S:
# Nếu ký tự là chữ số, đặt biến cờ thành True và thoát vòng lặp
if ch.isdigit():
co_chu_so = True
break
# Kiểm tra biến cờ để in kết quả phù hợp
if co_chu_so:
print("S có chứa chữ số")
else:
print("S không chứa chữ số nào")
Bài 8
Kiểm tra độ mạnh của mật khẩu. Nhập một mật khẩu và kiểm tra xem nó có đủ mạnh hay không.
Lời giải:
password = input("Nhập mật khẩu của bạn: ")
# Khởi tạo các biến kiểm tra
co_hoa = False
co_thuong = False
co_so = False
co_ky_tu_dac_biet = False
# Duyệt từng ký tự trong mật khẩu
for ky_tu in password:
if 'A' <= ky_tu <= 'Z': # Kiểm tra chữ hoa
co_hoa = True
elif 'a' <= ky_tu <= 'z': # Kiểm tra chữ thường
co_thuong = True
elif '0' <= ky_tu <= '9': # Kiểm tra số
co_so = True
else: # Nếu không phải chữ hoặc số, coi như là ký tự đặc biệt
co_ky_tu_dac_biet = True
# Kiểm tra mật khẩu có đủ mạnh không
if len(password) >= 8 and co_hoa and co_thuong and co_so and co_ky_tu_dac_biet:
print("✅ Mật khẩu phức tạp và an toàn.")
else:
print("❌ Mật khẩu chưa đủ mạnh. Hãy đảm bảo có ít nhất 8 ký tự, chữ hoa, chữ thường, số và ký tự đặc biệt.")
Bài 9
Nhập danh sách học sinh và đếm số học sinh có tên 'Hương'.
Lời giải:
# Nhập số lượng học sinh
n = int(input("Nhập số lượng học sinh: "))
# Nhập danh sách họ tên học sinh
danh_sach = []
for i in range(n):
hoten = input("Nhập họ và tên học sinh thứ " + str(i+1) + ": ")
danh_sach.append(hoten)
# Đếm số học sinh có tên "Hương"
dem = 0
for ten in danh_sach:
if "Hương" in ten:
dem += 1
# In kết quả
print("Số học sinh tên 'Hương':", dem)
Bài 10
Đếm số học sinh đạt loại Giỏi. Nhập danh sách học sinh kèm xếp loại, sau đó đếm số học sinh đạt loại "Giỏi".
Lời giải:
# Nhập số lượng học sinh
n = int(input("Nhập số lượng học sinh: "))
# Tạo danh sách học sinh
danh_sach = []
for i in range(n):
hoc_sinh = input("Nhập tên học sinh và xếp loại: ")
danh_sach.append(hoc_sinh)
# Đếm số học sinh đạt loại "Giỏi"
count = 0
for hs in danh_sach:
if "Giỏi" in hs:
count += 1
# Xuất kết quả
print("Có", count, "học sinh đạt loại Giỏi trong học kỳ 1.")
Bài 11
Đếm số lượng ký tự 'a' trong một chuỗi (chuỗi nhập từ bàn phím).
Lời giải tham khảo:
string = input("Nhập chuỗi: ")
count = string.count('a')
print("Số lượng ký tự 'a' là:", count)
Bài 12
Kiểm tra xem một chuỗi có phải là palindrome hay không (chuỗi nhập từ bàn phím).
Lời giải tham khảo:
string = input("Nhập chuỗi: ")
if string == string[::-1]:
print("Chuỗi là palindrome")
else:
print("Chuỗi không phải palindrome")
Bài 13
Chuyển một chuỗi thành chữ hoa (chuỗi nhập từ bàn phím).
Thay thế tất cả các ký tự 'a' trong chuỗi bằng ký tự 'b' (chuỗi nhập từ bàn phím).
Lời giải tham khảo:
string = input("Nhập chuỗi: ")
new_string = string.replace('a', 'b')
print("Chuỗi sau khi thay thế:", new_string)
Bài 16
Kiểm tra xem một chuỗi có chứa một từ cho trước hay không (chuỗi và từ nhập từ bàn phím).
Lời giải tham khảo:
string = input("Nhập chuỗi: ")
word = input("Nhập từ cần kiểm tra: ")
if word in string:
print(f"Từ '{word}' có trong chuỗi.")
else:
print(f"Từ '{word}' không có trong chuỗi.")
Bài 17
Đếm số lượng từ trong một chuỗi (chuỗi nhập từ bàn phím).
Lời giải tham khảo:
string = input("Nhập chuỗi: ")
words = string.split()
print("Số lượng từ trong chuỗi:", len(words))
Bài 18
Loại bỏ các khoảng trắng ở đầu và cuối chuỗi (chuỗi nhập từ bàn phím).
Lời giải tham khảo:
string = input("Nhập chuỗi: ")
trimmed_string = string.strip()
print("Chuỗi sau khi loại bỏ khoảng trắng:", trimmed_string)
Bài 19
Kiểm tra xem một chuỗi có bắt đầu bằng một từ cho trước hay không (chuỗi và từ nhập từ bàn phím).
Lời giải tham khảo:
string = input("Nhập chuỗi: ")
word = input("Nhập từ cần kiểm tra: ")
if string.startswith(word):
print(f"Chuỗi bắt đầu bằng từ '{word}'.")
else:
print(f"Chuỗi không bắt đầu bằng từ '{word}'.")
Bài 20
Kiểm tra xem một chuỗi có kết thúc bằng một từ cho trước hay không (chuỗi và từ nhập từ bàn phím).
Lời giải tham khảo:
string = input("Nhập chuỗi: ")
word = input("Nhập từ cần kiểm tra: ")
if string.endswith(word):
print(f"Chuỗi kết thúc bằng từ '{word}'.")
else:
print(f"Chuỗi không kết thúc bằng từ '{word}'.")
Bài 1
Xây dựng hàm tính tổng các số nguyên từ 1 đến n (n nhập từ bàn phím).
Lời giải:
def sum_numbers(n):
return sum(range(1, n+1))
n = int(input("Nhập n: "))
print("Tổng các số từ 1 đến n là:", sum_numbers(n))
Bài 2
Xây dựng hàm kiểm tra một số có phải là số nguyên tố hay không.
Lời giải:
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
n = int(input("Nhập số cần kiểm tra: "))
if is_prime(n):
print(f"{n} là số nguyên tố.")
else:
print(f"{n} không phải là số nguyên tố.")
Bài 3
Xây dựng hàm tính giai thừa của một số.
Lời giải:
def factorial(n):
if n == 0:
return 1
return n * factorial(n - 1)
n = int(input("Nhập n: "))
print(f"Giai thừa của {n} là:", factorial(n))
Bài 4
Xây dựng hàm tính số Fibonacci thứ n.
Lời giải:
def fibonacci(n):
if n <= 1:
return n
return fibonacci(n-1) + fibonacci(n-2)
n = int(input("Nhập n: "))
print(f"Số Fibonacci thứ {n} là:", fibonacci(n))
Bài 5
Xây dựng hàm tính tổng các phần tử trong một danh sách (list nhập từ bàn phím).
Lời giải:
def sum_list(lst):
return sum(lst)
lst = list(map(int, input("Nhập các phần tử của danh sách (cách nhau bằng dấu phẩy): ").split(',')))
print("Tổng các phần tử trong danh sách là:", sum_list(lst))
Bài 6
Xây dựng hàm tìm giá trị lớn nhất trong một danh sách.
Lời giải:
def find_max(lst):
return max(lst)
lst = list(map(int, input("Nhập các phần tử của danh sách (cách nhau bằng dấu phẩy): ").split(',')))
print("Giá trị lớn nhất trong danh sách là:", find_max(lst))
Bài 7
Xây dựng hàm đếm số lượng phần tử trong một danh sách.
Lời giải:
def count_elements(lst):
return len(lst)
lst = list(map(int, input("Nhập các phần tử của danh sách (cách nhau bằng dấu phẩy): ").split(',')))
print("Số lượng phần tử trong danh sách là:", count_elements(lst))
Bài 8
Xây dựng hàm tìm phần tử xuất hiện nhiều nhất trong danh sách.
Lời giải:
from collections import Counter
def most_frequent(lst):
count = Counter(lst)
return count.most_common(1)[0]
lst = list(map(int, input("Nhập các phần tử của danh sách (cách nhau bằng dấu phẩy): ").split(',')))
value, frequency = most_frequent(lst)
print(f"Phần tử xuất hiện nhiều nhất là {value} với số lần xuất hiện là {frequency}")
Bài 9
Xây dựng hàm đảo ngược một danh sách.
Lời giải:
def reverse_list(lst):
return lst[::-1]
lst = list(map(int, input("Nhập các phần tử của danh sách (cách nhau bằng dấu phẩy): ").split(',')))
print("Danh sách sau khi đảo ngược:", reverse_list(lst))
Bài 10
Xây dựng hàm kiểm tra xem một số có phải là số hoàn hảo hay không.
Lời giải:
def is_perfect(n):
divisors = [i for i in range(1, n) if n % i == 0]
return sum(divisors) == n
n = int(input("Nhập số cần kiểm tra: "))
if is_perfect(n):
print(f"{n} là số hoàn hảo.")
else:
print(f"{n} không phải là số hoàn hảo.")
Bài 1
Viết chương trình để tính tổng các số nguyên từ 1 đến n (n nhập từ bàn phím). Sử dụng file để lưu trữ và đọc dữ liệu.
Ví dụ:
Input
Output
5
Tổng các số từ 1 đến 5 là: 15
Lời giải:
def sum_numbers(n):
return sum(range(1, n+1))
# Nhập n từ người dùng
n = int(input("Nhập n: "))
# Ghi giá trị n vào file đầu vào
with open("input.txt", "w") as file:
file.write(f"{n}\n")
# Đọc giá trị n từ file và tính tổng
with open("input.txt", "r") as file:
n = int(file.read().strip())
# Tính tổng các số từ 1 đến n và ghi kết quả vào file output
total = sum_numbers(n)
with open("output.txt", "w") as file:
file.write(f"Tổng các số từ 1 đến {n} là: {total}")
print(f"Tổng các số từ 1 đến {n} là:", total)
Bài 2
Viết chương trình đọc danh sách các số nguyên từ một file đầu vào, tính trung bình cộng của chúng và ghi kết quả vào file đầu ra.
Ví dụ:
Input
Output
10, 20, 30, 40
Trung bình cộng: 25.0
Lời giải:
# Đọc danh sách số nguyên từ file đầu vào
with open("input.txt", "r") as file:
numbers = list(map(int, file.read().split(",")))
# Tính trung bình cộng
average = sum(numbers) / len(numbers)
# Ghi kết quả vào file đầu ra
with open("output.txt", "w") as file:
file.write(f"Trung bình cộng: {average}")
print(f"Trung bình cộng:", average)
Bài 3
Viết chương trình tìm số lớn nhất và nhỏ nhất từ danh sách số nguyên được nhập từ bàn phím và ghi kết quả vào file.
Ví dụ:
Input
Output
12, 5, 7, 20
Số lớn nhất: 20; Số nhỏ nhất: 5
Lời giải:
# Nhập dữ liệu từ bàn phím
data = input("Nhập danh sách số nguyên, cách nhau bằng dấu phẩy: ")
with open("input.txt", "w") as file:
file.write(data)
# Đọc danh sách từ file và tìm số lớn nhất, nhỏ nhất
with open("input.txt", "r") as file:
numbers = list(map(int, file.read().split(",")))
max_number = max(numbers)
min_number = min(numbers)
# Ghi kết quả vào file
with open("output.txt", "w") as file:
file.write(f"Số lớn nhất: {max_number}; Số nhỏ nhất: {min_number}")
print(f"Số lớn nhất: {max_number}; Số nhỏ nhất: {min_number}")
Bài 4
Viết chương trình kiểm tra xem một chuỗi nhập từ bàn phím có phải là chuỗi palindrome hay không. Kết quả được ghi vào file đầu ra.
Ví dụ:
Input
Output
madam
madam là chuỗi palindrome
Lời giải:
# Nhập chuỗi từ bàn phím và ghi vào file
string = input("Nhập một chuỗi: ")
with open("input.txt", "w") as file:
file.write(string)
# Đọc chuỗi từ file và kiểm tra palindrome
with open("input.txt", "r") as file:
string = file.read().strip()
if string == string[::-1]:
result = f"{string} là chuỗi palindrome"
else:
result = f"{string} không phải là chuỗi palindrome"
# Ghi kết quả vào file
with open("output.txt", "w") as file:
file.write(result)
print(result)
Bài 5
Viết chương trình đếm số từ trong một đoạn văn bản được lưu trữ trong file đầu vào và ghi kết quả vào file đầu ra.
Ví dụ:
Input
Output
Python is fun
Số từ: 3
Lời giải:
# Nhập đoạn văn bản từ bàn phím và ghi vào file
text = input("Nhập đoạn văn bản: ")
with open("input.txt", "w") as file:
file.write(text)
# Đọc đoạn văn bản từ file và đếm số từ
with open("input.txt", "r") as file:
text = file.read().strip()
word_count = len(text.split())
# Ghi kết quả vào file
with open("output.txt", "w") as file:
file.write(f"Số từ: {word_count}")
print(f"Số từ:", word_count)
Bài 6
Viết chương trình đọc danh sách các số nguyên từ file đầu vào, kiểm tra số chẵn và lẻ, sau đó ghi kết quả vào file đầu ra với hai dòng riêng biệt: một dòng cho số chẵn và một dòng cho số lẻ.
Ví dụ:
Input
Output
1, 2, 3, 4, 5
Số chẵn: 2, 4 Số lẻ: 1, 3, 5
Lời giải:
# Đọc danh sách số nguyên từ file đầu vào
with open("input.txt", "r") as file:
numbers = list(map(int, file.read().split(",")))
# Phân loại số chẵn và lẻ
even_numbers = [str(num) for num in numbers if num % 2 == 0]
odd_numbers = [str(num) for num in numbers if num % 2 != 0]
# Ghi kết quả vào file đầu ra
with open("output.txt", "w") as file:
file.write(f"Số chẵn: {', '.join(even_numbers)}\n")
file.write(f"Số lẻ: {', '.join(odd_numbers)}")
print("Số chẵn:", ", ".join(even_numbers))
print("Số lẻ:", ", ".join(odd_numbers))
Bài 7
Viết chương trình đọc một đoạn văn từ file đầu vào, đếm tần suất xuất hiện của từng từ và ghi kết quả vào file đầu ra.
Ví dụ:
Input
Output
hello world hello python
hello: 2
world: 1
python: 1
Lời giải:
# Đọc đoạn văn từ file
with open("input.txt", "r") as file:
text = file.read()
# Đếm tần suất từ
words = text.split()
frequency = {}
for word in words:
frequency[word] = frequency.get(word, 0) + 1
# Ghi kết quả vào file đầu ra
with open("output.txt", "w") as file:
for word, count in frequency.items():
file.write(f"{word}: {count}\\n")
# Hiển thị kết quả
print("Tần suất từ:", frequency)
Bài 8
Viết chương trình đọc danh sách các số nguyên từ file đầu vào, kiểm tra các số nguyên tố và ghi các số đó vào file đầu ra.
Ví dụ:
Input
Output
4, 5, 6, 7, 8
5, 7
Lời giải:
# Hàm kiểm tra số nguyên tố
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
# Đọc danh sách số nguyên từ file
with open("input.txt", "r") as file:
numbers = list(map(int, file.read().split(",")))
# Tìm các số nguyên tố
primes = [str(num) for num in numbers if is_prime(num)]
# Ghi kết quả vào file
with open("output.txt", "w") as file:
file.write(", ".join(primes))
print("Số nguyên tố:", ", ".join(primes))
Bài 9
Viết chương trình đọc danh sách các số nguyên từ file đầu vào, sắp xếp chúng theo thứ tự tăng dần và ghi danh sách đã sắp xếp vào file đầu ra.
Ví dụ:
Input
Output
5, 3, 8, 2
2, 3, 5, 8
Lời giải:
# Đọc danh sách số nguyên từ file
with open("input.txt", "r") as file:
numbers = list(map(int, file.read().split(",")))
# Sắp xếp danh sách
numbers.sort()
# Ghi danh sách đã sắp xếp vào file
with open("output.txt", "w") as file:
file.write(", ".join(map(str, numbers)))
print("Danh sách đã sắp xếp:", ", ".join(map(str, numbers)))
Bài 10
Viết chương trình đọc danh sách các số nguyên từ file đầu vào, tính tổng các số dương và ghi kết quả vào file đầu ra.
Ví dụ:
Input
Output
-3, 5, -1, 7
12
Lời giải:
# Đọc danh sách số nguyên từ file
with open("input.txt", "r") as file:
numbers = list(map(int, file.read().split(",")))
# Tính tổng các số dương
positive_sum = sum(num for num in numbers if num > 0)
# Ghi kết quả vào file
with open("output.txt", "w") as file:
file.write(f"Tổng các số dương: {positive_sum}")
print("Tổng các số dương:", positive_sum)