Bài tập  /  Bài đang cần trả lời

Viết chương trình thực hiện yêu cầu sau

Viết chương trình thực hiện yêu cầu sau:

a. Nhập vào từ bàn phím 3 danh sách gồm n phần tử.

b. In danh sách vừa nhập ra màn hình thành một hàng ngang.

c. Tính tổng các phần tử vừa nhập của danh sách.

d. Đếm xem danh sách vừa nhập có bao nhiêu số âm, số dương, số chẫn, số lẻ.

e. Tìm giá trị lớn nhất, giá trị nhỏ nhất và vị trí của chúng .

f. Tính trung bình cộng các số âm dương chẵn lẻ .

g. Dựa vào các số âm dương chẵn lẻ vào 1 danh sách khác rồi in ra màn hình.

h. Kiểm tra xem danh sách vừa nhập là tăng hay giảm hoặc không tăng không giảm.

i. In ra màn hình số nguyên tố có trong danh sách

2 trả lời
Hỏi chi tiết
120
Tham khảo câu trả lời từ Trợ lý ảo Lazi
```python
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
return False
return True

def main():
n = int(input("Nhập số phần tử của danh sách: "))

list1 = []
list2 = []

for i in range(3):
lst = list(map(int, input(f"Nhập danh sách thứ {i+1}: ").split()))
list1.extend(lst)

print("Danh sách vừa nhập:", end=" ")
for num in list1:
print(num, end=" ")
print()

sum_list = sum(list1)
print("Tổng các phần tử của danh sách:", sum_list)

count_positive = len([num for num in list1 if num > 0])
count_negative = len([num for num in list1 if num < 0])
count_even = len([num for num in list1 if num % 2 == 0])
count_odd = len([num for num in list1 if num % 2 != 0])

print("Số dương:", count_positive)
print("Số âm:", count_negative)
print("Số chẵn:", count_even)
print("Số lẻ:", count_odd)

max_num = max(list1)
min_num = min(list1)
max_index = list1.index(max_num)
min_index = list1.index(min_num)

print("Giá trị lớn nhất:", max_num, "tại vị trí", max_index)
print("Giá trị nhỏ nhất:", min_num, "tại vị trí", min_index)

avg = sum([num for num in list1 if num > 0]) / count_positive
print("Trung bình cộng các số dương:", avg)

list2.extend([num for num in list1 if num > 0])
list2.extend([num for num in list1 if num < 0])
list2.extend([num for num in list1 if num % 2 == 0])
list2.extend([num for num in list1 if num % 2 != 0])

print("Danh sách sau khi sắp xếp:", list2)

if list1 == sorted(list1):
print("Danh sách tăng dần")
elif list1 == sorted(list1, reverse=True):
print("Danh sách giảm dần")
else:
print("Danh sách không tăng không giảm")

prime_nums = [num for num in list1 if is_prime(num)]
print("Các số nguyên tố trong danh sách:", prime_nums)

if __name__ == "__main__":
main()
```
Để chạy chương trình, bạn có thể sao chép mã trên và dán vào trình biên dịch Python của mình. Chương trình sẽ yêu cầu bạn nhập số phần tử của danh sách và sau đó nhập từng danh sách theo yêu cầu. Cuối cùng, chương trình sẽ thực hiện các yêu cầu đã nêu trong đề bài.
1
1
QCường
24/03 15:10:17
+5đ tặng
def in_danh_sach_ngang(danh_sach):
    for phan_tu in danh_sach:
        print(phan_tu, end=" ")
    print()

def tinh_tong_danh_sach(danh_sach):
    return sum(danh_sach)

def dem_so_am_duong_chan_le(danh_sach):
    dem_so_du for i in danh_sach if i > 0)
    dem_so_am = sum(1 for i in danh_sach if i < 0)
    dem_so_chan = sum(1 for i in danh_sach if i % 2 == 0)
    dem_so_le = sum(1 for i in danh_sach if i % 2 != 0)
    return dem_so_duong, dem_so_am, dem_so_chan, dem_so_le

def tim_max_min_va_vi_tri(danh_sach):
    gia_tri_l />    gia_tri_nho_nhat = min(danh_sach)
    vi_tri_l for index, gia_tri in enumerate(danh_sach) if gia_tri == gia_tri_lon_nhat]
    vi_tri_nho_nhat = [index for index, gia_tri in enumerate(danh_sach) if gia_tri == gia_tri_nho_nhat]
    return gia_tri_lon_nhat, gia_tri_nho_nhat, vi_tri_lon_nhat, vi_tri_nho_nhat

def tinh_trung_binh_cac_so(danh_sach):
    danh_sach_du for i in danh_sach if i > 0]
    danh_sach_am = [i for i in danh_sach if i < 0]
    danh_sach_chan = [i for i in danh_sach if i % 2 == 0]
    danh_sach_le = [i for i in danh_sach if i % 2 != 0]
    trung_binh_du / len(danh_sach_duong) if len(danh_sach_duong) > 0 else 0
    trung_binh_am = sum(danh_sach_am) / len(danh_sach_am) if len(danh_sach_am) > 0 else 0
    trung_binh_chan = sum(danh_sach_chan) / len(danh_sach_chan) if len(danh_sach_chan) > 0 else 0
    trung_binh_le = sum(danh_sach_le) / len(danh_sach_le) if len(danh_sach_le) > 0 else 0
    return trung_binh_duong, trung_binh_am, trung_binh_chan, trung_binh_le

def phan_tach_so(danh_sach):
    danh_sach_du for i in danh_sach if i > 0]
    danh_sach_am = [i for i in danh_sach if i < 0]
    danh_sach_chan = [i for i in danh_sach if i % 2 == 0]
    danh_sach_le = [i for i in danh_sach if i % 2 != 0]
    return danh_sach_duong, danh_sach_am, danh_sach_chan, danh_sach_le

def kiem_tra_sap_xep(danh_sach):
    return all(danh_sach[i] <= danh_sach[i + 1] for i in range(len(danh_sach) - 1)) or all(danh_sach[i] >= danh_sach[i + 1] for i in range(len(danh_sach) - 1))

def la_so_nguyen_to(n):
    if n <= 1:
        return False
    for i in range(2, int(n**0.5) + 1):
        if n % i == 0:
            return False
    return True

def so_nguyen_to_trong_danh_sach(danh_sach):
    return [i for i in danh_sach if la_so_nguyen_to(i)]

def main():
    n = int(input("Nhập số lượng phần tử trong mỗi danh sách: "))
    
    # Nhập danh sách từ bàn phím
    print("Nhập danh sách thứ nhất:")
    danh_sach_1 = [int(input()) for _ in range(n)]
    print("Nhập danh sách thứ hai:")
    danh_sach_2 = [int(input()) for _ in range(n)]
    print("Nhập danh sách thứ ba:")
    danh_sach_3 = [int(input()) for _ in range(n)]
    
    # In danh sách vừa nhập thành một hàng ngang
    print("\nDanh sách ngang:")
    print_danh_sach_ngang(danh_sach_1)
    print_danh_sach_ngang(danh_sach_2)
    print_danh_sach_ngang(danh_sach_3)
    
    # Tính tổng các phần tử của danh sách
    print("\nTổng các phần tử của danh sách thứ nhất:", tinh_tong_danh_sach(danh_sach_1))
    print("Tổng các phần tử của danh sách thứ hai:", tinh_tong_danh_sach(danh_sach_2))
    print("Tổng các phần tử của danh sách thứ ba:", tinh_tong_danh_sach(danh_sach_3))
    
    # Đếm số lượng số âm, dương, chẵn, lẻ trong danh sách
    so_duong, so_am, so_chan, so_le = dem_so_am_duong_chan_le(danh_sach_1)
    print("\nDanh sách thứ nhất có", so_duong, "số dương,", so_am, "số âm,", so_chan, "số chẵn và", so_le, "số lẻ.")
    so_duong, so_am, so_chan, so_le = dem_so_am_duong_chan_le(danh_sach_2)
    print("Danh sách thứ hai có", so_duong, "số dương,", so_am, "số âm,", so_chan, "số chẵn và", so_le, "số lẻ.")
    so_duong, so_am, so_chan, so_le = dem_so_am_duong_chan_le(danh_sach_3)
    print("Danh sách thứ ba có", so_duong, "số dương,", so_am, "số âm,", so_chan, "số chẵn và", so_le, "số lẻ.")
    
    # Tìm giá trị lớn nhất, giá trị nhỏ nhất và vị trí của chúng trong danh sách
    max_1, min_1, vi_tri_max_1, vi_tri
 

Mở khóa để xem toàn bộ nội dung trả lời

(?)
Bạn đã đạt đến giới hạn của mình. Bằng cách Đăng ký tài khoản, bạn có thể xem toàn bộ nội dung trả lời
Cải thiện điểm số của bạn bằng cách đăng ký tài khoản Lazi.
Xem toàn bộ các câu trả lời, chat trực tiếp 1:1 với đội ngũ Gia sư Lazi bằng cách Đăng nhập tài khoản ngay bây giờ
Tôi đã có tài khoản? Đăng nhập
1
1
+4đ tặng
import numpy as np
# Nhập danh sách từ bàn phím
def nhap_danh_sach():
    danh_sach = []
    n = int(input("Nhập số phần tử của danh sách: "))
    for i in range(n):
        phan_tu = float(input(f"Nhập phần tử thứ {i+1}: "))
        danh_sach.append(phan_tu)
    return danh_sach
# In danh sách thành một hàng ngang
def in_danh_sach(danh_sach):
    print("Danh sách vừa nhập:")
    print(*danh_sach)
# Tính tổng các phần tử của danh sách
def tinh_tong(danh_sach):
    return sum(danh_sach)
# Đếm số lượng số âm, số dương, số chẵn, số lẻ trong danh sách
def dem_so_luong(danh_sach):
    so_am = sum(1 for x in danh_sach if x < 0)
    so_du for x in danh_sach if x > 0)
    so_chan = sum(1 for x in danh_sach if x % 2 == 0)
    so_le = sum(1 for x in danh_sach if x % 2 != 0)
    return so_am, so_duong, so_chan, so_le
# Tìm giá trị lớn nhất, giá trị nhỏ nhất và vị trí của chúng
def tim_gia_tri_extremes(danh_sach):
    max_value = max(danh_sach)
    min_value = min(danh_sach)
    max_index = danh_sach.index(max_value)
    min_index = danh_sach.index(min_value)
    return max_value, min_value, max_index, min_index
# Tính trung bình cộng các số âm dương chẵn lẻ
def tinh_trung_binh(danh_sach):
    so_am = [x for x in danh_sach if x < 0]
    so_du for x in danh_sach if x > 0]
    so_chan = [x for x in danh_sach if x % 2 == 0]
    so_le = [x for x in danh_sach if x % 2 != 0]
    trung_binh = np.mean(so_am + so_duong + so_chan + so_le)
    return trung_binh
# Tách các số âm, dương, chẵn, lẻ vào danh sách riêng
def tach_danh_sach(danh_sach):
    so_am = [x for x in danh_sach if x < 0]
    so_du for x in danh_sach if x > 0]
    so_chan = [x for x in danh_sach if x % 2 == 0]
    so_le = [x for x in danh_sach if x % 2 != 0]
    return so_am, so_duong, so_chan, so_le
# Kiểm tra danh sách có tăng, giảm hoặc không tăng không giảm
def kiem_tra_tang_giam(danh_sach):
    if danh_sach == sorted(danh_sach):
        return "Danh sách tăng dần."
    elif danh_sach == sorted(danh_sach, reverse=True):
        return "Danh sách giảm dần."
    else:
        return "Danh sách không tăng không giảm."
# Kiểm tra số nguyên tố
def la_so_nguyen_to(n):
    if n <= 1:
        return False
    for i in range(2, int(n**0.5) + 1):
        if n % i == 0:
            return False
    return True
# In ra số nguyên tố có trong danh sách
def in_so_nguyen_to(danh_sach):
    so_nguyen_to = [x for x in danh_sach if la_so_nguyen_to(int(x))]
    if so_nguyen_to:
        print("Các số nguyên tố trong danh sách là:", *so_nguyen_to)
    else:
        print("Không có số nguyên tố trong danh sách.")
# Chương trình chính
if __name__ == "__main__":
    danh_sach = nhap_danh_sach()
    in_danh_sach(danh_sach)
    t />    print("Tổng các phần tử của danh sách:", tong)
    so_am, so_duong, so_chan, so_le = dem_so_luong(danh_sach)
    print("Số âm:", so_am)
    print("Số dương:", so_duong)
    print("Số chẵn:", so_chan)
    print("Số lẻ:", so_le)
    max_value, min_value, max_index, min_index = tim_gia_tri_extremes(danh_sach)
    print("Giá trị lớn nhất:", max_value, "tại vị trí", max_index + 1)
    print("Giá trị nhỏ nhất:", min_value, "tại vị trí", min_index + 1)
    trung_binh = tinh_trung_binh(danh_sach)
    print("Trung bình cộng các số âm dương chẵn lẻ:", trung_binh)
    so_am, so_duong, so_chan, so_le = tach_danh_sach(danh_sach)
    print("Danh sách các số âm:", so_am)
    print("Danh sách các số dương:", so_duong)
    print("Danh sách các số chẵn:", so_chan)
    print("Danh sách các số lẻ:", so_le)
    print(kiem_tra_tang_giam(danh_sach))
    in_so_nguyen_to(danh_sach)
 
nhi vuong
không chạy được chương trình

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm
Bài tập liên quan
Bài tập Tin học Lớp 10 mới nhất
Trắc nghiệm Tin học Lớp 10 mới nhất

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường

Học ngoại ngữ với Flashcard

×
Trợ lý ảo Trợ lý ảo
×
Đấu trường tri thức | Lazi Quiz Challenge +500k