目录
2、定义函数,无参有返,可返回200-300所有偶数组成的数列。
3、定义函数,有参无返,可接收任意一个字符串,并计算该字符串有几个字符。
4、定义函数,有参有返,可接收任意一个字符串,对其进行去重,返回去重后的集合。
7、求 sum = 1! + 2! + 3! + …… + 10!
1、定义函数,无参无返,可求出200以内所有包含7的数字。
# 【运行结果】:
['7', '17', '27', '37', '47', '57', '67', '70', '71', '72', '73', '74', '75', '76',
'77', '78', '79', '87', '97', '107', '117', '127', '137', '147', '157', '167', '170',
'171', '172', '173', '174', '175', '176', '177', '178', '179', '187', '197']
def num():
num_list = []
list_7 = []
# 把0-199的数字赋给num_list列表
for i in range(200):
num_list.append(str(i))
# 判断数字7是否包含在列表当中
for j in num_list:
if "7" in j: #注意要把整型转换为字符串类型
list_7.append(j)
print(list_7)
# 调用
num()
2、定义函数,无参有返,可返回200-300所有偶数组成的数列。
# 【运行结果】:
[200, 202, 204, 206, 208, 210, 212, 214, 216, 218, 220, 222, 224, 226, 228, 230,
232, 234, 236, 238, 240, 242, 244, 246, 248, 250, 252, 254, 256, 258, 260, 262,
264, 266, 268, 270, 272, 274, 276, 278, 280, 282, 284, 286, 288, 290, 292, 294, 296, 298, 300]
def num_2():
list_23 = []
for i in range(200, 300 + 1):
if i % 2 == 0:
list_23.append(i)
print(list_23)
num_2()
3、定义函数,有参无返,可接收任意一个字符串,并计算该字符串有几个字符。
【运行结果】:
请输入一个字符串:abcdefghijklmnopqrstuvwxyz
你输入的字符串总计 26 个字符。
def num_3(s):
print(f"你输入的字符串总计 {len(s)} 个字符。")
len_str = input("请输入一个字符串:")
num_3(len_str)
## 不用函数等同于:
len_str = input("请输入一个字符串:")
print(f"你输入的字符串总计 {len(len_str)} 个字符。")
4、定义函数,有参有返,可接收任意一个字符串,对其进行去重,返回去重后的集合。
【运行结果】:
请输入一个字符串:hello world i am adrian!
{' ', 'e', 'n', 'm', 'r', 'i', 'h', 'l', 'd', '!', 'w', 'a', 'o'}
def set_str(s):
set_s = set(s) #set函数集合,直接去重
print(set_s)
st = input("请输入一个字符串:")
set_str(st)
5、定义函数,可接收个数字列表,并返回其中的最大和最小值。
【运行结果】:
最大值为:74
最小值为:1
def fun6(l):
max_i = l[0]
min_i = l[0]
for i in l:
if max_i < i:
max_i = i
if min_i > i:
min_i = i
return max_i, min_i
list_6 = [8, 5, 9, 74, 23, 15, 1, 3, 6]
ls_max, ls_min = fun6(list_6)
print(f"最大值为:{ls_max}")
print(f"最小值为:{ls_min}")
6、输出1-n的阶乘。
# 方法一:
n = int(input())
answer = 1
if n == 0:
print(answer)
else:
for i in range(1, n+1):
answer *= i
print(answer)
# 不完美程序:没有0的阶乘,但是可以正确输出1-n的阶乘
n=int(input())
cheng=1
for i in range(1,n+1):
cheng *= i
print(cheng)
7、求 sum = 1! + 2! + 3! + …… + 10!
# 求阶乘
def a(n):
answer = 1
if n == 0:
print(answer) # 或return answer
else:
for i in range(1, n+1):
answer *= i
return answer
sum = 0 # 记录总和
for i in range(1, 10+1): # 循环调用函数,参数1~10
sum +=a(i)
print(sum)
8、求正整数2和100之间的完全数。
def k(n):
sum = 0
for i in range(1,n):
if n%i==0:
sum += i
return sum
for i in range(2,101):
if i==k(i):
print(i)