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.