Cho tập tin D:\DULIEU.TXT chứa các số nguyên, các số cách nhau 1 khoảng cách và không kết thúc bằng ký tự xuống dòng. Hãy viết chương trình đọc dữ liệu từ tệp ra mảng A rồi sau đó hãy tính:
a) Tổng các giá trị trên mảng
b) Đếm số lượng số chẳn có trên mảng
c) Kiểm tra xem phải là mảng tăng liên tục không (VD: 1 2 2 3 4 5 8 9 … là mảng tăng)
d) Kiểm tra xem mảng là cấp số nhân không?
Quảng cáo
1 câu trả lời 549
# Mở tệp để đọc dữ liệu
with open("D:\\DULIEU.TXT", "r") as f:
# Đọc dữ liệu từ tệp và chuyển thành mảng A
A = list(map(int, f.readline().split()))
# a) Tính tổng các giá trị trên mảng
tong = sum(A)
# b) Đếm số lượng số chẵn có trên mảng
so_chan = sum(1 for a in A if a % 2 == 0)
# c) Kiểm tra xem mảng là mảng tăng liên tục hay không
tang = all(A[i] <= A[i+1] for i in range(len(A)-1))
# d) Kiểm tra xem mảng là cấp số nhân hay không
cap_so_nhan = all(A[i+1]/A[i] == A[1]/A[0] for i in range(len(A)-1))
# In kết quả
print("Tổng các giá trị trên mảng: ", tong)
print("Số lượng số chẵn trên mảng: ", so_chan)
if tang:
print("Mảng là mảng tăng liên tục")
else:
print("Mảng không là mảng tăng liên tục")
if cap_so_nhan:
print("Mảng là mảng cấp số nhân")
else:
print("Mảng không là mảng cấp số nhân")
Quảng cáo
Bạn cần hỏi gì?
Câu hỏi hot cùng chủ đề
-
Đã trả lời bởi chuyên gia
86382
