day08-作业
1.编写一个函数,求1+2+3+...+N
# 1.编写一个函数,求1+2+3+...+N
def sum1(n):
sum2 = 0
for x in range(1, n+1):
sum2 += x
return sum2
n = int(input('请输入n值:'))
print('和为%d'%(sum1(n)))
结果:
2、编写一个函数,求多个数中的最大值
def find_max(*num):
max_value = num[0]
for index in range(1, len(num)):
if num[index] > max_value:
max_value = num[index]
return max_value
print("(1, 2, 4, 5, 57, 2, 5, 9)中的最大值是;%d"%(find_max(1, 2, 4, 5, 57, 2, 5, 9)))
结果:
3、编写一个函数,实现摇色子的功能,打印n个色子的点数和
# 摇色子产生点数:
def shake_dice():
import random
return random.randint(1, 6)
dices = int(input('请输入色子的个数:'))
points = 0
for x in range(dices):
points += shake_dice()
print('%d个色子的点数和为%d'%(dices, points))
结果:
4、编写一个函数,交换指定字典的key和value。
# 例如,{'a':1,'b':2,'c':3}---{1:'a',2:'b',3:'c'}
def exchange_key_value(dict1: dict):
for key in dict1:
temp = key
key = dict1[temp]
del dict1[temp]
dict1[key] = temp
return dict1
print(exchange_key_value({'a': 1, 'b': 2, 'c': 3}))
结果:
5、编写一个函数,三个数中的最大值
def find_max(num1, num2, num3):
max_value = num1
for num in (num2, num3):
if num > max_value:
max_value = num
return max_value
print('三个数中的最大值为:%d'% find_max(2, 45, -13))
结果:
6、编写一个函数,提取指定字符串中的所有的字母,然后拼接在一起后打印出来
# 例如:‘12a&bc12d--’----- 打印‘abcd’
def find_letter(str1):
new_str = ''
for letter in str1:
if 'a'<=letter<='z' or 'A'<=letter<='Z':
new_str += letter
return new_str
print(find_letter('12a&bc12d--'))
结果:
7、写一个函数,求多个数的平均值
def average(*nums):
sum1 = 0
for num in nums:
sum1 += num
return sum1 / len(nums)
print('(23,34,556)的平均值为:%.2f' % (average(1, 2, 3)))
结果:
8、写一个函数,默认求10的阶乘,也可以求其他数的阶乘;
def jiecheng(n=10):
result = 1
for x in range(1, n+1):
result *= x
return result
print(jiecheng(),jiecheng(11))
结果:
9、写一个函数,可以对多个数进行不同的运算
"""
operation('+', 1, 2, 3)----求1+2+3的结果
operation('-', 10, 9)----求10-9的结果
operation('*', 1, 2, 3)----求1*2*3的结果
"""
def operation(str1,*nums):
if str1 == '+':
result = 0
for num in nums:
result += num
elif str1 == '-':
result = nums[0]
for index in range(1, len(nums)):
result -= nums[index]
elif str1 == '*':
result = 1
for num in nums:
result *= num
elif str1 == '/':
result = nums[0]
for index in range(1, len(nums)):
result /= nums[index]
return result
print('多个数相加的结果为:%.2f'%operation('+', 1, 2, 3))
print('多个数相减的结果为:%.2f'%operation('-', 1, 2, 3))
print('多个数相乘的结果为:%.2f'%operation('*', 2, 4, 8))
print('多个数相除的结果为:%.2f'%operation('/', 3, 2, 1))
结果: