day9-函数基础-作业
2018-10-10 本文已影响0人
_桑心人
1.编写一个函数,求1+2+3+...+N
代码如下
def my_sum1(n):
sum1 = 0
for x in range(1, n+1):
sum1 += x
return sum1
print(my_sum1(100))
运行结果
5050
2. 编写一个函数,求多个数中的最大值
代码如下
def max1(*nums):
n = 0
for x in range(len(nums)):
if n < nums[x]:
n = nums[x]
return n
print('最大值为:', max1(1, 20, 56, 65))
运行结果
最大值为: 65
3.编写一个函数,实现摇骰子的功能,打印n个骰子的点数和####代码如下
import random
def bask(n):
sum1 = 0
x = 0
while n:
x = random.randint(1, 6) #随机数生成
print(x)
sum1 += x
n -= 1
return sum1
n = int(input('请输入你骰子的个数:'))
print('骰子点数总和为:',bask(n))
运行结果
请输入你骰子的个数:3
4
4
3
骰子点数总和为: 11
4.编写一个函数,交换指定字典的key和value
代码如下
def change(dict1):
list1 = list(dict1)
for list2 in list1:
value = dict1[list2]
del dict1[list2]
dict1[value] = list2
return dict1
dict1 = {'name': '小明', 'age': 45, 'tel': 16654556}
print(change(dict1))
运行结果
{'小明': 'name', 45: 'age', 16654556: 'tel'}
5.编写一个函数,提取指定字符串中的所有的字母,然后拼接在一起后打印出来
代码如下
def letter(n):
str2 = ''
for x in n:
if 'a' <= x <='z' or 'A' <= x <= 'Z':
str2 += x
return str2
str1 = input('请输入一串字符串:')
print('其中字母为:', letter(str1))
运行结果
请输入一串字符串:44sd5f6A6D
其中字母为: sdfAD
6.写一个函数,求多个数的平均值
代码如下
def Avg(*nums):
sum1 = sum(nums)
print(sum1)
avg1 = sum1 / len(nums)
return avg1
print('平均值为:', Avg(52, 36, 10, 3))
运行结果
101
平均值为: 25.25
7.写一个函数,默认求10的阶层,也可以求其他数的阶层
代码如下
def jie_ceng(num=10):
s = 1
for x in range(1, num+1):
s *= x
return s
print(jie_ceng())
print(jie_ceng(5))
运行结果
3628800
120
8.写一个函数,可以对多个数进行不同的运算
如: operation('+', 1, 2, 3) ---> 求 1+2+3的结果 operation('-', 10, 9) ---> 求 10-9的结果
operation('', 2, 4, 8, 10) ---> 求 24810的结构
代码如下
def operation(*num):
list1 = list(num)
if list1[0] == '+':
sum1 = 0
for index in range(1, len(list1)):
sum1 += list1[index]
return sum1
elif list1[0] == '*':
cheng = 1
for index in range(1, len(list1)):
cheng *= list1[index]
return cheng
elif list1[0] == '-':
cha = list1[1]
for index in range(2, len(list1)):
cha -= list1[index]
return cha
print(operation('+', 5, 2, 3))
print(operation('*', 5, 2, 3))
print(operation('-', 5, 2, 3))
运行结果
10
30
0
9.写一个函数,求指定列表中,指定的元素的个数
代码如下
def zhi_ding(list1, n):
return list(list1).count(n)
list1 = ['a', 'b', 2, 2, 'a', 'b']
print('个数为:', zhi_ding(list1, 'a'))
运行结果
个数为: 2
10.写一个函数,获取指定列表中指定元素对应的下标(如果有多个,一起返回)
代码如下
def xiao_biao(list1, n):
list1 = list(list1)
count = list1.count(n)
list3 = []
for index in range(len(list1)):
if list1[index] == n:
list3.append(index)
return list3
list1 = ['a', 'b', 2, 2, 'a', 'b']
print('元素下标分别为:', xiao_biao(list1, 'a'))
运行结果
元素下标分别为: [0, 4]