Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

นับจำนวนบวกและลบในรายการในโปรแกรม Python


ในบทความนี้ เราจะเรียนรู้เกี่ยวกับวิธีแก้ปัญหาตามที่ระบุด้านล่าง

แจ้งปัญหา − เราได้รับรายการที่ทำซ้ำได้ เราต้องนับจำนวนบวกและลบในนั้นและแสดงผล

แนวทางที่ 1 - แนวทางแบบ Brute-force โดยใช้โครงสร้างแบบวนซ้ำ (สำหรับ)

ที่นี่เราต้องวนซ้ำแต่ละองค์ประกอบในรายการโดยใช้ for วนซ้ำและตรวจสอบว่า num>=0 เพื่อกรองตัวเลขบวกหรือไม่ หากเงื่อนไขประเมินว่าเป็นจริง ให้เพิ่ม pos_count มิฉะนั้น ให้เพิ่ม neg_count

ตัวอย่าง

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)

ผลลัพธ์

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

แนวทางที่ 2 - วิธีการแบบ Brute-force โดยใช้โครงสร้างการวนซ้ำ (ในขณะที่)

ที่นี่เราต้องวนซ้ำแต่ละองค์ประกอบในรายการโดยใช้ for วนซ้ำและตรวจสอบว่า num>=0 เพื่อกรองตัวเลขบวกหรือไม่ หากเงื่อนไขประเมินว่าเป็นจริง ให้เพิ่ม pos_count มิฉะนั้น ให้เพิ่ม neg_count

ตัวอย่าง

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)

ผลลัพธ์

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

วิธีที่ 3 − การใช้ Python Lambda Expressions

เราใช้ความช่วยเหลือจากนิพจน์ตัวกรองและแลมบ์ดา ซึ่งเราสามารถแยกความแตกต่างระหว่างจำนวนบวกและค่าลบได้โดยตรง

ตัวอย่าง

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)

ผลลัพธ์

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

ตัวแปรทั้งหมดได้รับการประกาศในขอบเขตท้องถิ่นและการอ้างอิงของตัวแปรนั้นดูได้จากรูปด้านบน

บทสรุป

ในบทความนี้ เราได้เรียนรู้วิธีนับจำนวนบวกและลบในรายการ