10.10 函数基础作业
- 编写一个函数,求1+2+3+...+N
def my_sum(n):
sum1 = 0
for x in range(1,n+1):
sum1 += x
return sum1
print(my_sum(5))
结果:15
- 编写一个函数,求多个数中的最大值
def my_max(*num):
max = 0
for x in num:
if x >max:
max = x
return max
print(my_max(5,64,67,13,84,64,90,31,47))
结果:90
- 编写一个函数,实现摇骰子的功能,打印n个骰子的点数和
def tou_zi(n):
import random
i = 0
sum1 = 0
while i < n:
x = random.randint(1,6)
sum1 += x
i += 1
return sum1
print(tou_zi(2))
- 编写一个函数,交换指定字典的key和value。如:{'a':1, 'b':2, 'c':3} ---> {1:'a', 2:'b', 3:'c'}
def change_keyvalue(dict1):
dict2={}
for index1 in dict1:
value = index1
key = dict1[index1]
dict2.setdefault(key,value)
return dict2
print(change_keyvalue({'name':'hqf','sex':'man','age':18}))
- 编写一个函数,提取指定字符串中的所有的字母,然后拼接在一起后打印出来
如:'12a&bc12d--' ---> 打印'abcd
def get_alp(n):
new_str = ''
for x in n:
if x.isalpha():
new_str += x
return new_str
print(get_alp('d4sa564das6'))
结果:dasdas
- 写一个函数,求多个数的平均值
def my_avrage(*n):
sum = 0
num = 0
avr = float(0)
for x in n:
sum += x
num +=1
avr = sum/num
return avr
print(my_avrage(5,654,2,78,312,4))
结果:175.83
- 写一个函数,默认求10的阶层,也可以求其他数的阶层
def my_jiecheng(n=10):
jiecheng = 1
for x in range(1,n+1):
jiecheng *= x
return jiecheng
print(my_jiecheng())
结果:3628800
- 写一个函数,可以对多个数进行不同的运算
如: operation('+', 1, 2, 3) ---> 求 1+2+3的结果
operation('-', 10, 9) ---> 求 10-9的结果
operation('', 2, 4, 8, 10) ---> 求 24810的结构
def my_suanfa(list1):
num1 = 0
if list1[0] == '+':
del list1[0]
answer = list1[0]
for index in range(0,len(list1)):
num1 = list1[index]
answer += num1
elif list1[0] == '-':
del list1[0]
answer = list1[0]
for index in range(0,len(list1)):
num1 = list1[index]
answer -= num1
else:
del list1[0]
answer = list1[0]
for index in range(0, len(list1)):
num1 = list1[index]
answer *= num1
return answer
print(my_suanfa(['+',1,2,3,4,5]))
print(my_suanfa(['-',1,2,3,4,5]))
print(my_suanfa(['*',1,2,3,4,5]))
结果:16,-14,120
9.写一个函数,求指定列表中,指定的元素的个数
def my_count(list1,str1):
count1 = 0
for x in list1:
if x == str1:
count1 += 1
return count1
print(my_count([1,2,3,4,1,2,3,1,2,1],3))
结果:2
10.写一个函数,获取指定列表中指定元素对应的下标(如果有多个,一起返回)
def my_index(list1,str1):
num =''
for index1 in range(0,len(list1)):
if list1[index1] == str1:
num += 'index1'
print(index1)
my_index([1, 1, 2, 3, 4, 4, 3, 2, ], 2)
结果:2、7
网友评论