Viết đoạn chương trình ngắn sử dụng thư viện LinkedList đề thiết lập một danh sách liên kết L và bổ sung các tên "Bình", "Hoa", "Hà" vào danh sách này.
một thư viện được bổ sung 3 đợt sách. Đợt 1 bổ sung thêm 1/5 số sách đã có sẵn trong thư viện . Đợt 2 bổ sung thêm 25% số sách đã có sau khi bổ sung đợt một . Đợt 3 bổ sung thêm 1/6 số sách sau khi bổ sung đợt hai thì lúc này thư viện có 14000 quyển. Hỏi lúc đầu thư viện có bao nhiêu cuốn sách
25% = \(\frac{1}{4}\)
Số sách sau khi bổ sung đợt 2 là :
\(14000\div\left(1+\frac{1}{6}\right)=12000\) (quyển)
Số sách sau khi bổ sng đợt 1 là :
\(12000\div\left(1+\frac{1}{4}\right)=9600\)(quyển)
Số sách lúc đầu là :
\(9600\div\left(1+\frac{1}{5}\right)=8000\)(quyển)
Đáp số : 8000 quyển
Thiết lập màng bao gồm dãy các thông tin là danh sách học sinh và thông tin 3 điểm thi của học sinh tương ứng các bải thi số 1, 2, 3. Viết đoạn lệnh nhập bộ đữ liệu trên và chương trình in ra danh sách học sinh cùng với điểm trung bình của các bài thi.
Để lưu trữ danh sách học sinh và thông tin điểm thi của họ, bạn có thể sử dụng một danh sách chứa nhiều danh sách con. Mỗi danh sách con sẽ chứa tên học sinh (dạng chuỗi) và ba điểm số (dạng số) của họ tương ứng với ba bài thi.
Ví dụ, để tạo một mảng danh sách học sinh với thông tin điểm số, ta có thể sử dụng mã như sau:
# Nhập danh sách học sinh và điểm số
students = []
n = int(input("Nhập số lượng học sinh: "))
for i in range(n):
name = input(f"Nhập tên học sinh thứ {i+1}: ")
mark1 = float(input(f"Nhập điểm bài thi 1 của {name}: "))
mark2 = float(input(f"Nhập điểm bài thi 2 của {name}: "))
mark3 = float(input(f"Nhập điểm bài thi 3 của {name}: "))
students.append([name, mark1, mark2, mark3])
# Tính điểm trung bình và in ra danh sách học sinh và điểm trung bình của họ
for student in students:
name = student[0]
mark1 = student[1]
mark2 = student[2]
mark3 = student[3]
avg_mark = (mark1 + mark2 + mark3) / 3
print(f"Học sinh {name} có điểm trung bình là {avg_mark}")
Sử dụng Python Viết chương trình nhập vào danh sách a gồm 5số nguyên dương bất kì tính tổng các phần tử trong danh sách và in ra màn hình
a = []
sum = 0
n = 5
# Nhập danh sách a
for i in range(n):
x = int(input("Nhập phần tử thứ " + str(i+1) + ": "))
a.append(x)
# Tính tổng các phần tử trong danh sách a
for i in range(n):
sum += a[i]
# In ra màn hình tổng các phần tử trong danh sách a
print("Tổng các phần tử trong danh sách a là: ", sum)
một trường THCS bổ sung vào thư viện nhà trường gần 3000 quyển sách. Biết rằng nếu xếp mỗi ngăn 34 quyển sách, 54 quyển sách hoặc 85 quyển sách thì đề thừa 2 quyển sách, nhưng khi xếp mỗi ngăn 11 quyển sách thì vừa đủ. Tính số sách đã bổ sung vào thư viện nhà trường trong năm học này
Dễ nhưng ko bt làm=)
4. Viết chương trình nhập vào một danh sách các số tự nhiên n phần tử. Đưa ra màn hình các kết quả sau:
- Đếm các phần tử trong danh sách
- Tính tổng các phần tử trong danh sách
- Tính tổng các số chẵn, tổng các số lẻ
- Chèn vào đầu danh sách một giá trị’
- Chèn vào cuối danh sách một giá trị
- Nhập một số tự nhiên x, tìm và xóa trong danh sách các số bằng x
Cho trước một danh sách liên kết L. Viết một hàm đếm số lượng phần tử của danh sách liên kết này.
Viết chương trình tìm kiếm vị trí tên của một người trong mỗi danh sách sau đây:
a) Danh sách học sinh của lớp em.
b) Danh sách tên của các chủ tài khoản ngân hàng (kí tự không dấu) và đã sắp thứ tự theo bảng chữ cái.
a) Danh sách học sinh của lớp:
def tim_vi_tri_ten_hs(ten, danh_sach_hs):
for i, ten_hs in enumerate(danh_sach_hs):
if ten_hs == ten:
return i
return -1
danh_sach_hs = ["Nam", "An", "Binh", "Chung", "Duc", "Huong"]
ten_can_tim = "An"
vi_tri = tim_vi_tri_ten_hs(ten_can_tim, danh_sach_hs)
if vi_tri >= 0:
print(f"Vi tri cua ten '{ten_can_tim}' trong danh sach la {vi_tri}")
else:
print(f"Ten '{ten_can_tim}' khong nam trong danh sach")
b) Danh sách tên các chủ tài khoản ngân hàng đã sắp xếp theo thứ tự bảng chữ cái:
def tim_vi_tri_ten_tk(ten, danh_sach_tk):
left, right = 0, len(danh_sach_tk) - 1
while left <= right:
mid = (left + right) // 2
if danh_sach_tk[mid] == ten:
return mid
elif danh_sach_tk[mid] < ten:
left = mid + 1
else:
right = mid - 1
return -1
danh_sach_tk = ["An", "Binh", "Duc", "Huong", "Nam"]
ten_can_tim = "Huong".upper()
vi_tri = tim_vi_tri_ten_tk(ten_can_tim, danh_sach_tk)
if vi_tri >= 0:
print(f"Vi tri cua ten '{ten_can_tim}' trong danh sach la {vi_tri}")
else:
print(f"Ten '{ten_can_tim}' khong nam trong danh sach")
Viết thêm một chương trình cho công việc bổ sung 4 như sau: Cần in ra danh sách 1⁄3 số mặt hàng có doanh số thấp nhất trong ngày.
Tham khảo:
def in_danh_sach_1_3_so_mat_hang_thap_nhat(s,p):
# Sắp xếp danh sách mặt hàng theo doanh số tăng dần
p.sort(key=lambda x: x[s])
# Tính số lượng mặt hàng cần in (1/3 tổng số mặt hàng)
so_luong_can_in = len(p) // 3
# In ra danh sách 1/3 số mặt hàng có doanh số thấp nhất
print("Danh sách 1/3 số mặt hàng có doanh số thấp nhất:")
for i in range(so_luong_can_in):
print(f"{i+1}. Mặt hàng {p[i][0]} - Doanh s: {p[i][p]}")
.Thư viện nhà trường bổ sung một số sách tham khảo. Khi xếp mỗi ngăn 34 quyển sách hoặc 50 quyển hoặc 85quyển đều vừa đủ. Tính số sách đã bổ sung vào thư viện? Biết rằng số quyển sách trong khoảng từ 2000 quyển đến3000 quyển.
Gọi x (quyển) là số quyển sách cần tìm (x ∈ ℕ* và 2000 < x < 3000)
Do khi xếp mỗi ngăn 34 quyển, 50 quyển, 85 quyển đều vừa đủ nên x ∈ BC(34; 50; 85)
Ta có:
34 = 2.17
50 = 2.5²
85 = 5.17
⇒ BCNN(34; 50; 85) = 2.5².17 = 850
⇒ x ∈ BC(34; 50; 85) = B(850) = {0; 850; 1700; 2550; 3400; 4250; ...}
Mà 2000 < x < 3000
⇒ x = 3400
Vậy số quyển sách cần tìm là 3400 quyển