Bài tập python từ luyện

Bài 1. Viết chương trình tìm tất cả các số chia hết cho

n = int(input("Nhập số cần tính giai thừa:")) 
def fact(n):
    if n==0:
        return 1
    else:
        return n*fact(n-1)
print(fact(n))
1 nhưng không phải bội số của
n = int(input("Nhập số cần tính giai thừa:")) 
def fact(n):
    if n==0:
        return 1
    else:
        return n*fact(n-1)
print(fact(n))
2, nằm trong đoạn
n = int(input("Nhập số cần tính giai thừa:")) 
def fact(n):
    if n==0:
        return 1
    else:
        return n*fact(n-1)
print(fact(n))
3 và
n = int(input("Nhập số cần tính giai thừa:")) 
def fact(n):
    if n==0:
        return 1
    else:
        return n*fact(n-1)
print(fact(n))
4 (tính cả
n = int(input("Nhập số cần tính giai thừa:")) 
def fact(n):
    if n==0:
        return 1
    else:
        return n*fact(n-1)
print(fact(n))
3 và
n = int(input("Nhập số cần tính giai thừa:")) 
def fact(n):
    if n==0:
        return 1
    else:
        return n*fact(n-1)
print(fact(n))
4). Các số thu được sẽ được in thành chuỗi trên một dòng, cách nhau bằng dấu phẩy.

j=[] for i in range(2000, 3201):
  if (i%7==0) and (i%5!=0):
    j.append(str(i))
print (','.join(j))

Nếu chỉ cần in ra màn hình kết quả, chúng ta có thể không cần sử dụng

n = int(input("Nhập số cần tính giai thừa:")) 
def fact(n):
    if n==0:
        return 1
    else:
        return n*fact(n-1)
print(fact(n))
7.

SIÊU SALE SHOPEE 12.12 https://shope.ee/1VOIDFMXxP TIKI https://bitly.global/CJK6J1
for i in range(2000, 3201):
    if (i % 7 == 0) and (i % 5 != 0):
        print(i, end=' ')

Bài 2. Viết một chương trình có thể tính giai thừa của một số cho trước. Kết quả được in thành chuỗi trên một dòng, phân tách bởi dấu phẩy. Ví dụ, số cho trước là

n = int(input("Nhập số cần tính giai thừa:")) 
def fact(n):
    if n==0:
        return 1
    else:
        return n*fact(n-1)
print(fact(n))
8 thì kết quả đầu ra phải là
n = int(input("Nhập số cần tính giai thừa:")) 
def fact(n):
    if n==0:
        return 1
    else:
        return n*fact(n-1)
print(fact(n))
9.

n = int(input("Nhập số cần tính giai thừa:")) 
def fact(n):
    if n==0:
        return 1
    else:
        return n*fact(n-1)
print(fact(n))

Nếu chỉ sử dụng vòng lặp, không sử dụng hàm và lời gọi đệ quy, ta có thể làm như sau:

SIÊU SALE SHOPEE 12.12 https://shope.ee/1VOIDFMXxP TIKI https://bitly.global/CJK6J1
n = int(input('Enter a number '))
factorial = 1
for i in range(1,n+1):
    factorial *= i
print(factorial)

Bài 03. Với số nguyên

n = int(input('Enter a number '))
factorial = 1
for i in range(1,n+1):
    factorial *= i
print(factorial)
0 nhất định, hãy viết chương trình để tạo ra một dictionary chứa
n = int(input('Enter a number '))
factorial = 1
for i in range(1,n+1):
    factorial *= i
print(factorial)
1 như là số nguyên từ
n = int(input('Enter a number '))
factorial = 1
for i in range(1,n+1):
    factorial *= i
print(factorial)
2 đến
n = int(input('Enter a number '))
factorial = 1
for i in range(1,n+1):
    factorial *= i
print(factorial)
0 (bao gồm cả
n = int(input('Enter a number '))
factorial = 1
for i in range(1,n+1):
    factorial *= i
print(factorial)
2 và
n = int(input('Enter a number '))
factorial = 1
for i in range(1,n+1):
    factorial *= i
print(factorial)
0) sau đó in ra dictionary này. Ví dụ: Giả sử số
n = int(input('Enter a number '))
factorial = 1
for i in range(1,n+1):
    factorial *= i
print(factorial)
0 là
n = int(input("Nhập số cần tính giai thừa:")) 
def fact(n):
    if n==0:
        return 1
    else:
        return n*fact(n-1)
print(fact(n))
8 thì đầu ra sẽ là:
n = int(input('Enter a number '))
factorial = 1
for i in range(1,n+1):
    factorial *= i
print(factorial)
8.

n = int(input('Enter a number '))
d = dict()
for i in range(1, n+1):
    d[i] = i*i
print(d)

Bài 04. Viết chương trình chấp nhận một chuỗi số, phân tách bằng dấu phẩy từ giao diện điều khiển, tạo ra một

n = int(input("Nhập số cần tính giai thừa:")) 
def fact(n):
    if n==0:
        return 1
    else:
        return n*fact(n-1)
print(fact(n))
7  và một
n = int(input('Enter a number '))
d = dict()
for i in range(1, n+1):
    d[i] = i*i
print(d)
0 chứa mọi số.

SIÊU SALE SHOPEE 12.12 https://shope.ee/1VOIDFMXxP TIKI https://bitly.global/CJK6J1

Ví dụ: Đầu vào được cung cấp là

n = int(input('Enter a number '))
d = dict()
for i in range(1, n+1):
    d[i] = i*i
print(d)
1 thì đầu ra là:

n = int(input('Enter a number '))
d = dict()
for i in range(1, n+1):
    d[i] = i*i
print(d)
2
n = int(input('Enter a number '))
d = dict()
for i in range(1, n+1):
    d[i] = i*i
print(d)
3

SIÊU SALE SHOPEE 12.12 https://shope.ee/1VOIDFMXxP TIKI https://bitly.global/CJK6J1

Chương trình này chỉ đơn giản là sử dụng hàm

n = int(input('Enter a number '))
d = dict()
for i in range(1, n+1):
    d[i] = i*i
print(d)
4 và chuyển một
n = int(input("Nhập số cần tính giai thừa:")) 
def fact(n):
    if n==0:
        return 1
    else:
        return n*fact(n-1)
print(fact(n))
7 sang một
n = int(input('Enter a number '))
d = dict()
for i in range(1, n+1):
    d[i] = i*i
print(d)
0.

values=input("Nhập vào các giá trị:") 
l=values.split(",") 
t=tuple(l) 
print (l) 
print (t)

Bài 05. Viết một hàm tính giá trị bình phương của một số.

SIÊU SALE SHOPEE 12.12 https://shope.ee/1VOIDFMXxP TIKI https://bitly.global/CJK6J1
# square of a number
x = int(input("Enter a number: "))
def square(x):
    return x * x

Bài 06. Viết chương trình tính số Fibonacci thứ

n = int(input('Enter a number '))
factorial = 1
for i in range(1,n+1):
    factorial *= i
print(factorial)
0, với
n = int(input('Enter a number '))
factorial = 1
for i in range(1,n+1):
    factorial *= i
print(factorial)
0 nhập vào từ bàn phím.

# find fibonacci number
n = int(input("Enter a number: "))
def fibonacci(n):
    if n == 0:
        return 0
    elif n == 1:
        return 1
    else:
        return fibonacci(n-1) + fibonacci(n-2)

Bài 07. Viết một chương trình nhập vào một danh sách các số và tạo một danh sách mới chỉ gồm phần tử đầu tiên và cuối cùng của danh sách đó. Viết chương trình sử dụng hàm.

SIÊU SALE SHOPEE 12.12 https://shope.ee/1VOIDFMXxP TIKI https://bitly.global/CJK6J1

Ví dụ, nhập vào danh sách

n = int(input('Enter a number '))
d = dict()
for i in range(1, n+1):
    d[i] = i*i
print(d)
9 thì kết quả trả về là danh sách 
values=input("Nhập vào các giá trị:") 
l=values.split(",") 
t=tuple(l) 
print (l) 
print (t)
0

def list_ends(a_list):
    return [a_list[0], a_list[len(a_list)-1]]

Bài 08. Viết một hàm nhận vào ba số thực và trả về số lớn nhất trong ba số. Lưu ý, không sử dụng hàm

values=input("Nhập vào các giá trị:") 
l=values.split(",") 
t=tuple(l) 
print (l) 
print (t)
1 của Python.

SIÊU SALE SHOPEE 12.12 https://shope.ee/1VOIDFMXxP TIKI https://bitly.global/CJK6J1
# max of three numbers
def max_of_three(a, b, c):
    if a > b:
        if a > c:
            return a
        else:
            return c
    else:
        if b > c:
            return b
        else:
            return c

Bài 09. Viết chương trình yêu cầu người dùng nhập vào một chuỗi và in ra màn hình thông báo chuỗi đó có phải là chuỗi palindrome hay không. (Chuỗi Palindrome là một chuỗi mà đọc xuôi và ngược đều như nhau, ví dụ

values=input("Nhập vào các giá trị:") 
l=values.split(",") 
t=tuple(l) 
print (l) 
print (t)
2.)

Cách giải thứ nhất, sử dụng cách đảo ngược xâu:

SIÊU SALE SHOPEE 12.12 https://shope.ee/1VOIDFMXxP TIKI https://bitly.global/CJK6J1
for i in range(2000, 3201):
    if (i % 7 == 0) and (i % 5 != 0):
        print(i, end=' ')
0

Cách thứ hai, sử dụng vòng lặp

values=input("Nhập vào các giá trị:") 
l=values.split(",") 
t=tuple(l) 
print (l) 
print (t)
3

for i in range(2000, 3201):
    if (i % 7 == 0) and (i % 5 != 0):
        print(i, end=' ')
1

Bài 10. Viết chương trình hỏi người dùng một số tự nhiên

n = int(input('Enter a number '))
factorial = 1
for i in range(1,n+1):
    factorial *= i
print(factorial)
0 và in ra tất cả ước số của con số đó.

SIÊU SALE SHOPEE 12.12 https://shope.ee/1VOIDFMXxP TIKI https://bitly.global/CJK6J1
for i in range(2000, 3201):
    if (i % 7 == 0) and (i % 5 != 0):
        print(i, end=' ')
2

Bài 11. Viết một chương trình (sử dụng các hàm) yêu cầu người dùng nhập một chuỗi dài gồm nhiều từ. In lại cho người dùng một chuỗi mới với thứ tự từ ngữ được đảo ngược lại với thứ tự ban đầu. Ví dụ, khi người dùng nhập chuỗi: 

values=input("Nhập vào các giá trị:") 
l=values.split(",") 
t=tuple(l) 
print (l) 
print (t)
5 thì in ra màn hình 
values=input("Nhập vào các giá trị:") 
l=values.split(",") 
t=tuple(l) 
print (l) 
print (t)
6

for i in range(2000, 3201):
    if (i % 7 == 0) and (i % 5 != 0):
        print(i, end=' ')
3

Bài 12. Viết chương trình kiểm tra xem số

n = int(input('Enter a number '))
factorial = 1
for i in range(1,n+1):
    factorial *= i
print(factorial)
0 có là số nguyên tố hay không.

SIÊU SALE SHOPEE 12.12 https://shope.ee/1VOIDFMXxP TIKI https://bitly.global/CJK6J1
for i in range(2000, 3201):
    if (i % 7 == 0) and (i % 5 != 0):
        print(i, end=' ')
4

Bài 13. Viết một chương trình nhập vào hai số tự nhiên

values=input("Nhập vào các giá trị:") 
l=values.split(",") 
t=tuple(l) 
print (l) 
print (t)
8,
n = int(input('Enter a number '))
factorial = 1
for i in range(1,n+1):
    factorial *= i
print(factorial)
0. In ra màn hình mảng hai chiều mà phần tử trong hàng thứ
# square of a number
x = int(input("Enter a number: "))
def square(x):
    return x * x
0 và cột thứ
# square of a number
x = int(input("Enter a number: "))
def square(x):
    return x * x
1 của mảng là
# square of a number
x = int(input("Enter a number: "))
def square(x):
    return x * x
2.

Ví dụ: Giá trị

values=input("Nhập vào các giá trị:") 
l=values.split(",") 
t=tuple(l) 
print (l) 
print (t)
8,
n = int(input('Enter a number '))
factorial = 1
for i in range(1,n+1):
    factorial *= i
print(factorial)
0 nhập vào là
# square of a number
x = int(input("Enter a number: "))
def square(x):
    return x * x
5 và
n = int(input("Nhập số cần tính giai thừa:")) 
def fact(n):
    if n==0:
        return 1
    else:
        return n*fact(n-1)
print(fact(n))
2 thì đầu ra là:
# square of a number
x = int(input("Enter a number: "))
def square(x):
    return x * x
7

SIÊU SALE SHOPEE 12.12 https://shope.ee/1VOIDFMXxP TIKI https://bitly.global/CJK6J1
for i in range(2000, 3201):
    if (i % 7 == 0) and (i % 5 != 0):
        print(i, end=' ')
5

Bài 14. Viết một chương trình nhận chuỗi từ do người dùng nhập vào, phân tách nhau bởi dấu phẩy và in những từ đó thành chuỗi theo thứ tự bảng chữ cái, phân tách nhau bằng dấu phẩy.

Giả sử đầu vào được nhập là:

# square of a number
x = int(input("Enter a number: "))
def square(x):
    return x * x
8 thì đầu ra sẽ là
# square of a number
x = int(input("Enter a number: "))
def square(x):
    return x * x
9.

SIÊU SALE SHOPEE 12.12 https://shope.ee/1VOIDFMXxP TIKI https://bitly.global/CJK6J1
for i in range(2000, 3201):
    if (i % 7 == 0) and (i % 5 != 0):
        print(i, end=' ')
6

Bài 15. Viết chương trình giải phương trình bậc hai $ax^2+bx+c=0$ với

# find fibonacci number
n = int(input("Enter a number: "))
def fibonacci(n):
    if n == 0:
        return 0
    elif n == 1:
        return 1
    else:
        return fibonacci(n-1) + fibonacci(n-2)
0,
# find fibonacci number
n = int(input("Enter a number: "))
def fibonacci(n):
    if n == 0:
        return 0
    elif n == 1:
        return 1
    else:
        return fibonacci(n-1) + fibonacci(n-2)
1,
# find fibonacci number
n = int(input("Enter a number: "))
def fibonacci(n):
    if n == 0:
        return 0
    elif n == 1:
        return 1
    else:
        return fibonacci(n-1) + fibonacci(n-2)
2 là số nguyên và được nhập vào từ bàn phím.

for i in range(2000, 3201):
    if (i % 7 == 0) and (i % 5 != 0):
        print(i, end=' ')
7

Bài 16. Viết chương trình tính tổng của các chữ số của môt số nguyên dương

n = int(input('Enter a number '))
factorial = 1
for i in range(1,n+1):
    factorial *= i
print(factorial)
0 trong Python. Số nguyên dương
n = int(input('Enter a number '))
factorial = 1
for i in range(1,n+1):
    factorial *= i
print(factorial)
0 được nhập từ bàn phím.