SDUT:Python实验五——函数、模块和包程序填空题(参考答案)

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值