[Python基础 ] Day_08_作业参考答案

Day_08_Homework_Answer

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

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

基础题

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

def oddsum(n):
    s = 0
    for i in range(1, n+1):
        if i % 2 == 1:
            s += i
    return s

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

def evennum(n):
    if n % 2 == 0:
        return True
    else:
        return False

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

def change(a, b):
    return b, a

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

def switchnum(n="NIDwqidwjan"):
     n2 = n.swapcase()
     return n2
print(switchnum())

进阶题

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

def compare(a, b):
    if a > b:
        return a
    if a < b:
        return b

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

def primenum(n):
    for i in range(2, n):
        if n % i == 0:
            return False
    else:
        return True
print(primenum(2))

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

def countprime():
    count = 0
    for i in range(2, 101):
        for j in range(2, i):
            if i % j == 0:
                break
        else:
            count += 1
    return count
print(countprime())

挑战题

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

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

def fn1(a, b):
    s = t = 0
    for i in range(b):
        t = t * 10 + a
        s += t
    return s
print(fn1(2,5))

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

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

def is_legal_email(s ='[email protected]'):
    if s.endswith('@1000phone.com'):
        for i in s[0:-14]:
            if i == '_':
                pass
            elif i.isalnum():
                pass
            else:
                return False
        else:
            return True
    else:
        return False

print(is_legal_email())

End.

你可能感兴趣的:(python基础语法,Python笔记,Python学习,字符串,python,算法)