python练习题8

本文提供了一系列Python编程题目,包括基础题、进阶题和挑战题。基础题涉及计算奇数和、判断奇偶性、变量交换及字符串大小写转换;进阶题涵盖比较数字大小、素数判断及计算素数个数;挑战题包含特定数字序列求和与验证千锋邮箱格式。所有功能均通过函数实现,可直接调用并返回结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【以下功能都使用函数封装】

提示: 涉及到要返回的题目,请使用return

基础题

1.封装函数,计算从1到某个数以内所有奇数的和并返回

方法一:
def fn(num):
    return(for i in range(1,num+1,2))
​
方法二:
def fn():
    num = int(input("请输入一个数字:"))
    sum = 0
    for i in range(1,num+1,2):
        sum += i
    return sum
​
nn = fn()
print(nn)

2.封装函数,判断某个数是否是偶数,返回结果(True或False)

def test(num):
    return num % 2==0
    
print(test(11))

3.封装函数,交换某两个变量的值, 并返回结果

def fn(a,b):
    return b,a
    
print(demo(12,34))

4,封装函数,将某个字符串中的大写字母转换为小写,小写字母转换为大写,将新的字符串返回【参数设置为默认参数】

swapcase()

def fn(n="dffASDffA"):           # 任意定义一个字符串
    return n.swapcase()
print(fn())

进阶题

1.封装函数,比较某两个数的大小,返回较大的一个

def get_max(a,b):
    return max(a,b)
print(get_max(98,34)

2.封装函数,判断某个数是否是素数,返回结果(True或False)

def fn2(num):
    for i in range(2,num):
        if num % i==0:
            return False
    return True

3.封装函数,计算2-100之间素数的个数,返回结果

老师的办法:引用上面数据
def fn3():
    count=0    # 定义变量count,保存素数的个数
    for i in range(2,101):
        if fn2(i):
            count+=1
    return count
​
print(fn3)
​
自己的办法
def fn():
    count = 0
    for n in range(2, 101):
        for i in range(2, n):
            if n % i == 0:
                break
        else:
            count += 1
    return count
print(fn())

挑战题(选做)

1,封装函数,实现如下要求

例如:输入2,5,则求 2+22+222+2222+22222的和

def fun1(a, n):

pass

def fun1(a,n):
    sum=0        # 定义变量记录最终的数字和
    temp=0    # 定义一个临时变量,专门用来保存生成的临时数字
    for i in range(n):
        temp = temp*10+a
        print(temp)
        sum+=temp
    return sum
he=fun1(3,4)
print(he)

2,已知千锋邮箱的用户名只能由数字字母下划线组成,域名为 **@1000phone.com,

封装函数 is_legal_email,判断一个字符串是否是千锋邮箱,是返回True,不是返回False。

mail@1000phone.com

$mail@1000phone.com 不是

mail@1000phone.comp 不是

提示:先找出所有False的情况

最后剩下的情况就是True

def is_legal_email(email):
    list1 = email.split("@")
    print(list1)
    if len(list1) != 2:
        return False
    if list1[1] != "1000phone.com":
        return False
    for i in list1[0]:
        if i.isalnum() or i == "_":
            continue
        else:
            return False
    return True
bool=is_legal_email("mail_@1000phone.com")
print(bool)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值