Bài 18: Thực hành dữ liệu mảng một chiều và hai chiều

Luyện tập 1 (SGK Kết nối tri thức với cuộc sống - Trang 88)

Hướng dẫn giải

marks = []

 

line = input("Hãy nhập các điểm kiểm tra cách nhau bởi dấu cách: ")

marks = [float(x) for x in line.split()]

total = 0

min_mark = marks[0]

max_mark = marks[0]

for m in marks:

    total += m

    if min_mark > m:

        min_mark = m

    if max_mark < m:

        max_mark = m

#a) Thông báo điểm đầu tiên và điểm cuối cùng trong danh sách.

print("Điểm trung bình: ", total / len(marks))

print("Điểm cao nhất: ", max_mark)

print("Điểm thấp nhất: ", min_mark)

print("Điểm đầu tiên: ", marks[0])

print("Điểm cuối cùng: ", marks[-1])

#b)Cho phép người dùng tra cứu đầu điểm thứ n với quy ước n bắt đầu từ 1 ứng với điểm đầu tiên, nếu n lớn hơn tổng số đầu điềm hoặc nhỏ hơn 1, cần thông báo không hợp lệ và yêu cầu người dùng nhập lại.

while True:

    try:

        n = int(input("Nhập n để tra cứu điểm đầu tiên thứ n (n bắt đầu từ 1): "))

        if n < 1 or n > len(marks):

            print("Số n không hợp lệ. Vui lòng nhập lại.")

            continue

        print("Điểm đầu tiên thứ", n, "là:", marks[n - 1])

        break

    except ValueError:

        print("Số n không hợp lệ. Vui lòng nhập lại.")

(Trả lời bởi Thanh An)
Thảo luận (1)

Luyện tập 2 (SGK Kết nối tri thức với cuộc sống - Trang 88)

Hướng dẫn giải

marks = []

 

line = input("Hãy nhập các điểm kiểm tra cách nhau bởi dấu cách: ")

marks = [float(x) for x in line.split()]

total = 0

min_mark = marks[0]

max_mark = marks[0]

for m in marks:

    total += m

    if min_mark > m:

        min_mark = m

    if max_mark < m:

        max_mark = m

#a) Thông báo điểm đầu tiên và điểm cuối cùng trong danh sách.

print("Điểm trung bình: ", total / len(marks))

print("Điểm cao nhất: ", max_mark)

print("Điểm thấp nhất: ", min_mark)

print("Điểm đầu tiên: ", marks[0])

print("Điểm cuối cùng: ", marks[-1])

#b)Cho phép người dùng tra cứu đầu điểm thứ n với quy ước n bắt đầu từ 1 ứng với điểm đầu tiên, nếu n lớn hơn tổng số đầu điềm hoặc nhỏ hơn 1, cần thông báo không hợp lệ và yêu cầu người dùng nhập lại.

while True:

    try:

        n = int(input("Nhập n để tra cứu điểm đầu tiên thứ n (n bắt đầu từ 1): "))

        if n < 1 or n > len(marks):

            print("Số n không hợp lệ. Vui lòng nhập lại.")

            continue

        print("Điểm đầu tiên thứ", n, "là:", marks[n - 1])

        break

    except ValueError:

        print("Số n không hợp lệ. Vui lòng nhập lại.")

(Trả lời bởi Thanh An)
Thảo luận (1)

Vận dụng 1 (SGK Kết nối tri thức với cuộc sống - Trang 88)

Hướng dẫn giải

ds=list(map(str,input().split()))

c={}

for i in ds:

  if i in c:

   c[i] =c[i]+1

  else:

   c[i] = 1

print('số tên khác nhau là',len(c))

print('mỗi tên có số lần xuất hiện là:')

for i in c:

  print(i, c[i])

(Trả lời bởi Quoc Tran Anh Le)
Thảo luận (1)

Vận dụng 2 (SGK Kết nối tri thức với cuộc sống - Trang 88)

Hướng dẫn giải

m = int(input("Nhập số hàng của ma trận: "))

n = int(input("Nhập số cột của ma trận: "))

A = []

for i in range(m):

  # Nhập một dòng gồm n số nguyên cách nhau bởi dấu cách

  row = list(map(int, input(f"Nhập dòng {i+1}: ").split()))

  A.append(row)

# In ma trận A ra màn hình

for i in range(m):

  for j in range(n):

   print(A[i][j], end=" ")

  print()

(Trả lời bởi Thanh An)
Thảo luận (1)