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

โปรแกรม Python เพื่อกรองกำลังสองที่สมบูรณ์แบบในซีรีย์ที่กำหนด


ป้อนข้อมูล

สมมติว่าคุณมีซีรีส์

0    14
1    16
2    30
3    49
4    80

ผลผลิต

ผลลัพธ์ที่ได้องค์ประกอบสี่เหลี่ยมจัตุรัสที่สมบูรณ์แบบคือ

0    4
1    16
3    49

โซลูชันที่ 1

เราสามารถใช้วิธีกรองนิพจน์ทั่วไปและฟังก์ชันแลมบ์ดาเพื่อค้นหาค่ากำลังสองที่สมบูรณ์แบบ

  • กำหนดซีรีส์

  • ใช้วิธีกรองแลมบ์ดาเพื่อตรวจสอบว่าค่าเป็นกำลังสองสมบูรณ์หรือไม่ มีการกำหนดไว้ด้านล่าง

   l = [14,16,30,49,80]
   data=pd.Series([14,16,30,49,80])
   result =pd.Series(filter(lambda x: x==int(m.sqrt(x)+0.5)**2,l))
  • สุดท้าย ตรวจสอบรายการค่าของชุดข้อมูลโดยใช้ฟังก์ชัน isin()

ตัวอย่าง

import pandas as pd
import math as m
l = [4,16,30,49,80]
data = pd.Series(l)
print(data)
lis = []
for i in range(len(data)):
   for j in data:
      if(data[i]==int(m.sqrt(j)+0.5)**2):
         lis.append(data[i])
print(“Perfect squares in the series: \n”, data[data.isin(lis)])

ผลลัพธ์

Given series:
0    4
1    16
2    30
3    49
4    80
dtype: int64
Perfect Squares in the series:
0    4
1    16
3    49
dtype: int64

โซลูชันที่ 2

ตัวอย่าง

import re
import math as m
l = [14,16,30,49,80]
data = pd.Series([14,16,30,49,80])
print(“Given series:\n”, data)
result = pd.Series(filter(lambda x: x==int(m.sqrt(x)+0.5)**2,l))
print(data[data.isin(result)])

ผลลัพธ์

Given series:
0    14
1    16
2    30
3    49
4    80
dtype: int64
Perfect squares:
1    16
3    49
dtype: int64