Computer >> Máy Tính >  >> Lập trình >> Python

Đếm số dương và số âm trong một danh sách trong chương trình Python


Trong bài viết này, chúng ta sẽ tìm hiểu về giải pháp cho câu hỏi được đưa ra bên dưới.

Tuyên bố sự cố - Chúng tôi được cung cấp một danh sách có thể lặp lại, chúng tôi cần đếm số dương và số âm trong đó và hiển thị chúng.

Cách tiếp cận 1 - Cách tiếp cận Brute-force sử dụng cấu trúc lặp (for)

Ở đây chúng ta cần lặp lại từng phần tử trong danh sách bằng vòng lặp for và kiểm tra xem num> =0, để lọc các số dương. Nếu điều kiện được đánh giá là true, thì hãy tăng pos_count, ngược lại, tăng neg_count.

Ví dụ

list1 = [1,-2,-4,6,7,-23,45,-0]
pos_count, neg_count = 0, 0
# enhanced for loop  
for num in list1:
   # check for being positive
   if num >= 0:
      pos_count += 1
   else:
      neg_count += 1
print("Positive numbers in the list: ", pos_count)
print("Negative numbers in the list: ", neg_count)

Đầu ra

Positive numbers in the list: 5
Negative numbers in the list: 3

Cách tiếp cận 2 - Cách tiếp cận bạo lực sử dụng cấu trúc lặp (while)

Ở đây chúng ta cần lặp lại từng phần tử trong danh sách bằng vòng lặp for và kiểm tra xem num> =0, để lọc các số dương. Nếu điều kiện được đánh giá là true, thì hãy tăng pos_count, ngược lại, tăng neg_count.

Ví dụ

list1 = [1,-2,-4,6,7,-23,45,-0]
pos_count, neg_count = 0, 0
num = 0
# while loop
while(num < len(list1)):
   # check
   if list1[num] >= 0:
      pos_count += 1
   else:
      neg_count += 1
   # increment num
   num += 1
print("Positive numbers in the list: ", pos_count)
print("Negative numbers in the list: ", neg_count)

Đầu ra

Positive numbers in the list: 5
Negative numbers in the list: 3

Phương pháp 3 - Sử dụng Biểu thức Lambda trong Python

Ở đây, chúng tôi nhờ sự trợ giúp của bộ lọc và biểu thức lambda, chúng tôi có thể phân biệt trực tiếp giữa số dương và số âm.

Ví dụ

list1 = [1,-2,-4,6,7,-23,45,-0]
neg_count = len(list(filter(lambda x: (x < 0), list1)))
pos_count = len(list(filter(lambda x: (x >= 0), list1)))
print("Positive numbers in the list: ", pos_count)
print("Negative numbers in the list: ", neg_count)

Đầu ra

Positive numbers in the list: 5
Negative numbers in the list: 3

Tất cả các biến được khai báo trong phạm vi cục bộ và các tham chiếu của chúng được hiển thị trong hình trên.

Kết luận

Trong bài viết này, chúng ta đã học cách đếm số dương và số âm trong danh sách.