01-04 作业
2019-01-04 本文已影响0人
ychaochaochao
- 编写一个函数,求1+2+3+...+N
def yc_sum(N:int):
sum1 = sum(range(1,N+1))
print(sum1)
yc_sum(5)
- 编写一个函数,求多个数中的最大值
def yc_max(*nums):
'''求多个数的最大值'''
max1=nums[0]
for item in nums:
if item > max1:
max1 = item
return max1
print(yc_max(20,9,8,49,89))
- 编写一个函数,实现摇色子的功能,打印n个色子的点数和
from random import randint
def dice(n):
'''n个色子'''
sum1=0
for _ in range(n):
point = randint(1,6)
print('点数:',point)
sum1 += point
return sum1
print(dice(4))
- 编写一个函数,交换指定字典的key和value。
例如:{'a':1, 'b':2, 'c':3} ---> {1:'a', 2:'b', 3:'c'}
def change(dict:dict):
#通过生成器实现
new_dict ={value:key for key,value in dict.items()}
print(new_dict)
change({'a':1, 'b':2, 'c':3})
def change(dict1:dict):
'''交换键值,先取出键值对,交换位置后再添加进字典'''
for key in dict1.copy():
# 不用copy的话,如果出现{‘a':b,'b':c}这样的字典,执行完一次键值对操作后,元素会被覆盖。程序不会报错,但是字典长度变了。
value = dict1.pop(key)
dict1[value]=key
dict2={'a':1, 'b':2, 'c':3}
change(dict2)
print(dict2)
- 编写一个函数,三个数中的最大值
def yc_max(a,b,c):
num = [a,b,c]
max_num=max(num)
print(max_num)
yc_max(5,4,6)
- 编写一个函数,提取指定字符串中的所有的字母,然后拼接在一起后打印出来
例如:'12a&bc12d--' ---> 打印'abcd'
def yc_zimu(str1:str):
zimu= []
for x in str1:
if 'a'<= x <='z' or 'A' <= x <='Z':
zimu.append(x)
new_str=''.join(zimu)
print(new_str)
yc_zimu('12a&bc12d--')
- 写一个函数,求多个数的平均值
def yc_ave(*num):
sum_num=sum(num)
print('平均值:',sum_num/len(num))
yc_ave(5,4,6,8,2)
- 写一个函数,默认求10的阶层,也可以求其他数的阶层
def factorial(n=10):
"""求指定数的阶乘"""
sum1 = 1
for x in range(1, n+1):
sum1 *= x
print('%d的阶乘是:%d' % (n, sum1))
factorial(5)
- 写一个函数,可以对多个数进行不同的运算
例如: operation('+', 1, 2, 3) ---> 求 1+2+3的结果
operation('-', 10, 9) ---> 求 10-9的结果
operation('*', 2, 4, 8, 10)
def operatio(str1:str,*num):
jia=0# 存 和
jian=0 # 存 差
cheng=1 #存 积
chu = 0 #存 余
if str1=='*':
for x in num:
cheng *=x
print(cheng)
elif str1=='+':
for x in num:
jia += x
print(jia)
elif str1 == '-':
jian = num[0]-num[1]
print(jian)
else:
chu = num[0] / num[1]
print(chu)
operatio('+',1,2,3)
operatio('*',2,3,4)
operatio('-',4,5)
operatio('/',5,4)