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

Tin học - Lớp 10
12/04 17:50:18

Sử dụng ngôn ngữ Python thực hiện 1 bài tập gồm các yêu cầu sau

Sử dụng ngôn ngữ Python thực hiện 1
bài tập gồm các yêu cầu sau:
- Khai báo một danh sách gồm n phần tử
rỗng In nhập từ bàn phím và n 20 nếu
sai phải nhập lại cho đến khi đúng mới
tiến hành yêu cầu tiếp theo.).
- Nhập giá trị là số nguyên cho các phần
tử (lưu ý không phải số nguyên không
cho nhập)
-
- In danh sách ra màn hình sao cho mỗi
giá trị của phần tử nằm trên 1 dòng.
- Tiến hành sắp xếp danh sách thành
dãy số giảm dần và in danh sách ra màn
hình (toàn bộ danh sách in cùng trên 1
dòng)
- Đếm và in ra màn hình số lượng số
chính phương có trong danh sách.
Minh họa
1 trả lời
Hỏi chi tiết
65
1
0
Quang Cường
12/04 17:55:14
+5đ tặng
import math

def la_so_chinh_phuong(n):
    """
    Kiểm tra xem một số có phải là số chính phương hay không.
    """
    if n < 0:
        return False
    can_bac_hai = int(math.sqrt(n))
    return can_bac_hai * can_bac_hai == n

def main():
    # Nhập số phần tử và đảm bảo n là số nguyên dương
    while True:
        try:
            n = int(input("Nhập số phần tử của danh sách (n > 0): "))
            if n > 0:
                break
            else:
                print("Số phần tử phải lớn hơn 0. Hãy nhập lại.")
        except ValueError:
            print("Vui lòng nhập một số nguyên.")

    # Khai báo danh sách
    numbers = []

    # Nhập giá trị cho các phần tử của danh sách
    for i in range(n):
        while True:
            try:
                value = int(input(f"Nhập giá trị cho phần tử thứ {i + 1}: "))
                break
            except ValueError:
                print("Vui lòng chỉ nhập số nguyên.")
        numbers.append(value)

    # In danh sách ra màn hình
    print("Danh sách các phần tử:")
    for num in numbers:
        print(num)

    # Sắp xếp danh sách theo thứ tự giảm dần
    numbers.sort(reverse=True)

    # In danh sách đã sắp xếp ra màn hình
    print("Danh sách sau khi được sắp xếp giảm dần:", numbers)

    # Đếm số lượng số chính phương có trong danh sách
    dem_so_lu for num in numbers if la_so_chinh_phuong(num))

    # In số lượng số chính phương ra màn hình
    print("Số lượng số chính phương trong danh sách:", dem_so_luong_so_chinh_phuong)

if __name__ == "__main__":
    main()
 

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 ký tài khoản ngay bây giờ
Tôi đã có tài khoản? Đăng nhập

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 bạn bè học sinh cả nước, đến LAZI, sôi động, tích cực, trải nghiệm

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

×
Gia sư Lazi Gia sư
×
Trợ lý ảo Trợ lý ảo