1. 编写一个函数,求1+2+3+...+N
def sum1(N):
sum2 = 0
for x in range(1, N+1):
N += 1
sum2 +=x
print(sum2)
sum1(20)
# 210
2. 编写一个函数,求多个数中的最大值
def max1(*number):
max2 = number[0]
for x in number:
if max2 > x:
break
else:
max2 = x
print('max:', max2)
max1(10, 20, 50, 80)
# max: 80
3. 编写一个函数,实现摇骰子的功能,打印n个骰子的点数和
import random
def sum3(n):
sum4 = 0
for index in range(0, n):
x = random.randint(1, 7)
sum4 += x
print('骰子的点数和为:', sum4)
sum3(6)
# 骰子的点数和为: 23
4. 编写一个函数,交换指定字典的key和value。
如:{'a':1, 'b':2, 'c':3} ---> {1:'a', 2:'b', 3:'c'}
def exchange1(dict1):
for key in dict1.copy():
# 通过key拿到值
value = dict1[key]
# 删除原来的键值对
del dict1[key]
# 将值作为key,键作为value,添加键值对
dict1[value] = key
dict2 = {'a':1, 'b':2, 'c':3}
exchange1(dict2)
print(dict2)
# 交换后的字典为: {1: 'a', 2: 'b', 3: 'c'}
5. 编写一个函数,提取指定字符串中的所有的字母,然后拼接在一起后打印出来
如:'12a&bc12d--' ---> 打印'abcd'
def zi_mu(str1):
str2 = ''
for index in str1:
if index.isalpha():
# if 'a' <= index <= 'z' or 'A' < index < 'Z':
str2 += index
print(str2)
zi_mu('12a&bc12d--')
# abcd
6. 写一个函数,求多个数的平均值
def average(*number):
sum1 = 0
n = 0
for x in number:
sum1 += x
n += 1
ave1 = (sum1/n)
print(ave1)
average(1,2,3,4,5,6,7,8,9)
# 5.0
7. 写一个函数,默认求10的阶层,也可以求其他数的阶层
def jie_ceng(n=10):
sum1 = 1
for x in range(1, n+1):
sum1 *= x
print(sum1)
jie_ceng()
# 362880
8. 写一个函数,可以对多个数进行不同的运算
如: operation('+', 1, 2, 3) ---> 求 1+2+3的结果 operation('-', 10, 9) ---> 求 10-9的结果 operation('', 2, 4, 8, 10) ---> 求 24810的结构
def operation(fu_hao, *n):
if fu_hao == '+':
sum1 = 0
for x in n:
sum1 += x
print(sum1)
if fu_hao == '-':
sum2 = n[0]
for x in range(1, len(n)):
sum2 -= n[x]
print(sum2)
if fu_hao == '*':
sum3 = 1
for x in n:
sum3 *= x
print(sum3)
operation('+', 1, 2, 3) # 6
operation('-', 10, 9) # 1
9.写一个函数,求指定列表中,指定的元素的个数
def num1(list1,n):
x = 0
for i in list1:
if i == n:
x += 1
return x
print(num1([1,2,3,4,5,4,3,4,3,4],3))
# 3
10.写一个函数,获取指定列表中指定元素对应的下标(如果有多个,一起返回)
def index(list1,n):
list2 = []
for i in range(len(list1)):
if n == list1[i]:
list2.append(i)
return list2
print(index([1,2,3,4,5,2,3,2,3,5],3))
# [2, 6, 8]