5-1. sdut-fun-平方数(II)
import math
#定义函数fun,拥有参数x,判断x是否为平方数。
def fun(x):
k = int(math.sqrt(x))
return k * k == x
n=int(input()) #获得键盘输入的需要处理的数据行数
for i in range(n): #循环共执行n次
a,b=map(int,input().split()) #获得键盘输入的2个整数
if a>b: #若第一个数a(起点) 比第二个数b(终点)大,则交换顺序,保证起点小于终点数值
a,b=b,a
f1=filter(fun,range(a,b+1)) #调用fun函数,将其应用到[a,b]区间,得到过滤后的平方数集合对象
lst=list(f1) #将平方数集合对象变成list对象lst
print(sum(lst)) #对lst集合求和,并打印
5-2. sdut-fun-平方数(III)
import math #导入数学模块
n=int(input()) #获得键盘输入的需要处理的数据行数
for i in range(n): #循环共执行n次
a,b=map(int,input().split()) #获得键盘输入的2个整数
if a>b: #若第一个数a(起点) 比第二个数b(终点)大,则交换顺序,保证起点小于终点数值
a,b=b,a
f1=filter(lambda x:int(math.sqrt(x))*int(math.sqrt(x))==x,range(a,b+1)) #定义匿名函数,将其应用到[a,b]区间,得到过滤后的平方数集合对象
print(sum(f1)) #对集合对象进行求和,并打印
5-3. sdut-fun-奇数数字之和(II)
#定义函数fun,返回x是否为奇数
def fun(x):
n=int(x)
return x%2!=0
while True:
try:
m=map(int,input().split()) #获取从键盘得到的整数集合m
f1=filter(fun,m) #将定义的函数fun,应用到整数集合m的每一个数值之后,得到奇数集合对象f1
print(sum(f1)) #对奇数集合对象f1的数值求和,并输出
except:
break
5-4. sdut-fun-奇数数字之和(III)
while True:
try:
m=map(int,input().split()) #获取从键盘得到的整数集合m
f1=filter( lambda x: x % 2 != 0 , m ) #定义匿名函数,应用到整数集合中,得到奇数集合对象f1
print(sum(f1)) #对奇数集合对象f1的数值求和,并输出
except:
break