Với Giải SBT Tin học 10 trang 66 trong Bài 32: Ôn tập lập trình Python Sách bài tập Tin học 10 Kết nối tri thức hay nhất, chi tiết sẽ giúp học sinh dễ dàng làm bài tập trong SBT Tin học 10.
SBT Tin học 10 trang 66 Kết nối tri thức
Lời giải:
Hướng dẫn:
Em đã biết cách tách phần họ và tên của một xâu kí tự họ tên đầy đủ. Bài tập này yêu cầu tách thêm phần đệm, tức là phần nằm giữa tên và họ ra. Việc tách này khá đơn giản bằng cách sử dụng phương thức join() của xâu kí tự. Xâu kí tự họ tên gốc trước tiên được tách thành một dãy bằng hàm split(). Sau khi lấy phần họ, tên, phần đệm sẽ được lấy ra bằng lệnh sau:
dem = " ".join(slist[1:n-1])
Trong đó slist là dãy đã được tách ra từ xâu kí tự họ tên đầy đủ, n là độ dài của xâu slist. Chương trình hoàn chỉnh có thể viết như sau:
hoten = input("Nhập họ tên đầy đủ của bạn: ")
slist = hoten.split()
n = len(slist)
ho = slist[0]
ten = slist[n-1]
dem = " ".join(slist[1:n-1])
print("Tên của bạn là",ten)
print("Họ của bạn là", ho)
if n > 2:
print("Đệm của bạn là:", dem)
* Chương trình chạy thử:
a[0], a[1], ..., a[N-1].
Cần tìm và liệt kê các chỉ số và giá trị a[i] sao cho a[i] tương ứng với tháng đột biến.
Yêu cầu nhập dữ liệu sản lượng điện tiêu thụ từ bàn phím trên một hàng có N số, mỗi số cách nhau bởi dấu cách. Chương trình cần in ra dãy các tháng (bằng chỉ số dãy) và sản lượng tiêu thụ đột biến của tháng đó.
Lời giải:
Hướng dẫn:
slist = input("Nhập dãy các số là sản lượng tiêu thụ điện: ")
A = [int(k) for k in slist.split()]
for k in range(1, len(A)-1):
if A[k-1] < A[k] < A[k+1]:
print("tháng thứ" , k-1, A[k])
1 – Tìm số lần lặp xâu con có thể chồng lấn lên nhau.
2 – Tìm số lần lặp không chồng lấn của xâu con.
Ví dụ nếu xâu gốc là "12121341212100", xâu con mẫu là "121" thì:
- Số lần lặp có chồng lấn của str trong S là 4 lần.
- Số lần lặp không chồng lấn của str trong S là 2 lần.
Bài toán như sau: Cho trước các xâu kí tự S và str, hãy tìm số lần lặp không chồng lấn của xâu str trong xâu S.
Lời giải:
Chương trình có thể viết như sau:
S = "12121341212100"
str = "121"
n = len(S)
m = len(str)
count = 0
k = 0
Indx = 0
while k <= n-m and Indx >= 0:
Indx = S.find(str, k)
if Indx >= 0:
count = count + 1
k = Indx + m
print(count)
Dãy con bằng nhau có độ dài lớn nhất là 0, 0, 0 bắt đầu từ chỉ số 4. Dãy số gốc gồm các số nguyên được nhập trên một dòng từ bàn phím, chương trình cần đưa ra thông báo như trên.
Lời giải:
Chương trình có thể viết như sau:
A = [1, 1, 2, 3, 0, 0, 0, 7, 10, 10, 5, 1, 1, 6]
Indx = 0
lenMax = 1
for i in range(len(A)):
j = i
while j < len(A) and A[j] == A[i]:
if j-i+1 > lenMax:
Indx = i
lenMax = j-i+1
j = j + 1
print("Dãy con bằng nhau lớn nhất bắt đầu từ chỉ số:", Indx, "độ dài" ,lenMax)
print(A[Indx: Indx+lenMax])
Lời giải:
Hướng dẫn:
Chương trình 1. Nhập số tự nhiên từ bàn phím và tính xem đó là ngày tháng năm nào.
month = [31,28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
def nhuan(year):
if year % 400 == 0 or (year % 4 == 0 and year%100 != 0):
return True
else:
return False
def day_of_year(year):
if nhuan(year):
return 366
else:
return 365
def hople (year, mm, day):
if nhuan(year):
month[1] = 29
if mm < 1 or mm > 12:
return False
if day < 1 or day > month[mm-1]:
return False
return True
def tinh_nam(d):
year = 1900
n_day = day_of_year(year)
day = d
while n_day <= d:
day = d - n_day
year = year + 1
n_day = n_day + day_of_year (year)
if day == 0:
year = year - 1
day = day_of_year(year)
return year, day
def tinh_thang(year, day):
if nhuan(year):
month[1] = 29
mm = 0
n_day = month[mm]
dd = day
while n_day <= day and mm < 11:
dd = day - n_day
mm = mm + 1
n_day = n_day + month[mm]
if dd == 0:
mm = mm - 1
dd = month[mm]
return mm+1, dd
# Chương trình chính
d = int(input("Nhập số ngày tính từ 1/1/1990: "))
year, day = tinh_nam(d)
mm, dd = tinh_thang(year, day)
print("Đó là ngày", dd,"tháng", mm , "năm", year)
CÔNG TY TNHH ĐẦU TƯ VÀ DỊCH VỤ GIÁO DỤC VIETJACK
- Người đại diện: Nguyễn Thanh Tuyền
- Số giấy chứng nhận đăng ký kinh doanh: 0108307822, ngày cấp: 04/06/2018, nơi cấp: Sở Kế hoạch và Đầu tư thành phố Hà Nội.
2021 © All Rights Reserved.