Giải Tin học 10 Bài 32: Ôn tập lập trình Python
Luyện tập
Trả lời:
def Nhap_danh_sach_ten():
list_name = []
n = int(input("Nhap vao so luong ten: n = "))
print("Nhap vao danh sach cac ten gom ho,dem, ten:")
for i in range(n):
print("\tSo thu tu ", i+1, ":", sep="", end=" ")
list_name.append(input())
return list_name
def Sap_xep_Abc(lst):
for i in range(len(lst) - 1):
for j in range(i + 1, len(lst)):
if lst[i] > lst[j]:
lst[i], lst[j] = lst[j], lst[i]
# Chuong trinh chinh
lst = Nhap_danh_sach_ten()
# Hien thi
print("Danh sach vua nhap la:")
for i in range(len(lst)):
print("\t", lst[i], end=" ")
# Sap xep tang dan
Sap_xep_Abc(lst)
print("\nDanh sach sau khi sap xep la:")
for i in range(len(lst)):
print("\t", lst[i], end=" ")
Vận dụng
- Nhập số tự nhiên n từ màn phím và tính xem số đó ứng với ngày, tháng, năm nào.
- Nhập thời gian theo khuôn dạng ngày-tháng-năm (ví dụ: 8-10-2021), tính số ngày ứng với ngày này theo phần mềm bảng tính điện tử.
Trả lời:
import datetime
str1= "1/1/1990"
d1 = datetime.datetime.strptime(str1, "%y/%m/%d")
print(d1)
d2 = datetime.datetime.strptime(str2, "%y/%m/%d")
print(d2)
n = int(input("Nhap vao so tu nhien: n = "))
print(d1 + datetime.timedelta(days=n))
print((d2-d1).days)
Vận dụng 2 trang 155 Tin học 10: Mở rộng bài tập trong phần luyện tập như sau:
- Việc sắp xếp thứ tự phải ưu tiên tính theo tên trước, rồi đến họ, rồi đến đệm
- Sắp xếp theo thứ tự của bảng chữ cái tiếng Việt.
Trả lời:
def Nhap_danh_sach_ten():
list_name = []
hodem=[]
n = int(input("Nhap vao so luong ten: n = "))
print("Nhap vao danh sach cac ten gom ho,dem, ten:")
for i in range(n):
print("\tSo thu tu ", i+1, ":", sep="", end=" ")
list_name.append(input())
hodem.append(input())
return list_name
return hodem
def Sap_xep_Abc(lst):
if
for i in range(len(lst) - 1):
for j in range(i + 1, len(lst)):
if lst[i] > lst[j]:
lst[i], lst[j] = lst[j], lst[i]
return list_name
els return hodem
# Chuong trinh chinh
lst = Nhap_danh_sach_ten()
# Hien thi
print("Danh sach vua nhap la:")
for i in range(len(lst)):
print("\t", lst[i], end=" ")
# Sap xep tang dan
Sap_xep_Abc(lst)
print("\nDanh sach sau khi sap xep la:")
for i in range(len(lst)):
print("\t", lst[i], end=" ")
Trả lời:
import math
print("Nhập vào số n lớn hơn 1: ")
# Lấy dữ liệu
n = int(input())
flag = True
#Su dung cau truc re nhanh xu ly truong hop n <= 0
if (n < 2):
flag = False
elif (n == 2):
flag = True
elif (n % 2 == 0):
flag = False
else:
#Su dung vong lap for de duyet cac so tu 2 den can bac hai cua n
for i in range(2, int(math.sqrt(n))+1):
#Kiem tra tinh chia het
if n % i == 0:
flag == False
break
else:
flag == True
# In kết quả
if flag == True:
print(n, " là số nguyên tố")
else:
print(n, " không phải là số nguyên tố")
Hình 1. Chương trình
Hình 2. Kết quả chạy thử
Xem thêm lời giải bài tập SGK Tin học 10 Kết nối tri thức hay, chi tiết khác:
Bài 29: Nhận biết lỗi chương trình
Bài 30: Kiểm thử và gỡ lỗi chương trình
Bài 31: Thực hành viết chương trình đơn giản