Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

Định hướng cách phân tích bài toán

09:34 23-04-2023 510 lượt xem 4 bình luận 10:39 24-04-2023

Mình có bài toán bên dưới cần viết bằng python mà chưa biết cách định hướng trước khi code. Nhờ mọi người có thể hướng dẫn em cách định hướng với ạ

VIẾT CHƯƠNG TRÌNH NHẬP VÀO MỘT DANH SÁCH SỐ NGUYÊN. ĐẾM, TÍNH TỔNG CÁC SỐ DƯƠNG VÀ VỊ TRÍ CÁC SỐ DƯƠNG ĐÓ TRONG DANH SÁCH ĐÃ NHẬP.

VÍ DỤ: N = 6; DS={-12, 5, -8, 9, 15, 3}

KẾT QUẢ IN RA MÀN HÌNH:

- TỔNG: 32

- SỐ LƯỢNG: 4

- VỊ TRÍ: 2 4 5 6

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
mt1234 đã bình luận 15:00 30-04-2023

Các bước:

  1. Nhập danh sách số nguyên từ người dùng bằng cách sử dụng hàm input và chuyển đổi đầu vào sang kiểu list.

  2. Khởi tạo một biến tong bằng 0 để tính tổng các số dương.

  3. Khởi tạo một danh sách rỗng vitri để lưu trữ vị trí của các số dương.

  4. Sử dụng một vòng lặp để duyệt qua từng phần tử trong danh sách vừa nhập.

  5. Trong vòng lặp, nếu phần tử đó lớn hơn 0, thì cộng giá trị của nó vào biến tong và thêm vị trí của nó vào danh sách vitri.

  6. Sau khi kết thúc vòng lặp, in ra tổng các số dương, số lượng các số dương và vị trí của các số dương đó.

phucdai011 đã bình luận 19:39 23-04-2023

n = int(input("Enter the length of the sequence: "))

lst = list(map(int, input('Enter the sequence separated by spaces: ').split()))

positive_numbers = [x for x in lst if x > 0]

s = sum(positive_numbers)

sl = len(positive_numbers)

print("Sum:", s)

print("Count:", sl)

print('Positions:', ' '.join(map(str, positive_numbers)))

 

phucprotein đã bình luận 12:55 23-04-2023

Sau khi nhập được danh sách các số, ta sẽ sử dụng vòng lặp for với hàm range, lúc này với mỗi một lần lặp ta sẽ có được vị trí (index), và giá trị trong danh sách DS[index], hãy kiểm tra giá trị đó với yêu cầu đề bài (>= 0) nếu thoả thì lưu vị trí đó vào một danh sách khác.

Sau vòng lặp sử dụng lại các vị trí đã lưu để tính tổng, số lượng sẽ là số phân tử trong danh sách lưu các vị trí, và in danh sách vị trí ra màn hình.

Câu hỏi mới nhất