Day8 作业
2019-01-04 本文已影响0人
ququququ
- 编写一个函数,求1+2+3+...+N
def my_sum(num1):
"""
求1+2+3+...+N
:param num1:
:return:
"""
total = 0
for i in range(1, num1+1):
total += i
return total
print(my_sum(100))
- 编写一个函数,求多个数中的最大值
def my_max(*nums):
"""
:param nums:
:return:
"""
return max(nums)
print(my_max(1,2,3,7))
- 编写一个函数,实现摇骰子的功能,打印n个骰子的点数和
def my_dice(nums):
"""
n个骰子的点数和
:param nums:骰子的个数
:return:
"""
import random
total = 0
for i in range(nums):
total += random.randint(1, 6)
return total
print(my_dice(3))
- 编写一个函数,交换指定字典的key和value。
例如:{'a':1, 'b':2, 'c':3} ---> {1:'a', 2:'b', 3:'c'}
def swap_key_value (dict1 : dict):
"""
交换指定字典的key和value
:param dict1:
:return:
"""
for key in dict1:
old_key = key
key, dict1[key] = dict1[key], key
dict1.pop(old_key)
return dict1
print(swap_key_value({'a':1, 'b':2, 'c':3}))
优化代码:
注意:遍历字典的时候字典的长度不要改变,如果遍历字典时需要对字典操作,那么就不要遍历原字典而是遍历字典copy()
def swap_key_value (dict1 : dict):
"""
交换指定字典的key和value
:param dict1:
:return:
"""
new_dict = {}
for key in dict1:
new_dict[dict1[key]] = key
return new_dict
print(swap_key_value({'a':'b', 'b':2, 'c':3}))
- 编写一个函数,三个数中的最大值
def my_max(*nums):
"""
求多个数中的最大值
:param nums:
:return:
"""
return max(nums)
- 编写一个函数,提取指定字符串中的所有的字母然后拼接在一起后打印出来
例如:'12a&bc12d--' ---> 打印'abcd'
def my_str(strs):
"""
取指定字符串中的所有的字母然后拼接在一起后打印出来
:param strs:
:return:
"""
new_str = ''
for item in strs:
if 'a' <= item <= 'z' or 'A' <= item <= 'Z':
new_str += item
print(new_str)
return new_str
my_str('12a&bc12E--' )
- 写一个函数,求多个数的平均值
def my_avg(*nums):
"""
多个数的平均值
:param nums:
:return:
"""
if nums == 0:
return sum(nums)/len(nums)
else:
return
print(my_avg())
- 写一个函数,默认求10的阶层,也可以求其他数的阶层
def my_factorial(num1 = 10):
"""
默认求10的阶层,也可以求其他数的阶层
:param num1:
:return:
"""
result = 1
for i in range(1, num1+1):
result *= i
return result
print(my_factorial(3))
- 写一个函数,可以对多个数进行不同的运算
例如: operation('+', 1, 2, 3) ---> 求 1+2+3的结果
operation('-', 10, 9) ---> 求 10-9的结果
operation('*', 2, 4, 8, 10) ---> 求 2*4*8*10的结构
def my_calculate(operator : str, *nums):
"""
对多个数进行不同的运算
:param operator:运算符
:param nums:数
:return:
"""
str_oper = operator
str_num = str(nums)[1:-1]
new_str = str_num.replace(',', str_oper)
print(new_str)
return eval(new_str)
print(my_calculate('-', 10 , 5))