1、编写一个函数,求1+2+3+...+N。
def funct1(nums):
"""求从1加到nums的和"""
sum1 = 0
for num in range(1, nums+1): # 使用循环遍历1到nums
sum1 += num
print(sum1)
funct1(100)
5050
2、编写一个函数,求多个数中的最大值。
def max1(a, *numbers):
"""求多个数中的最大值"""
num1 = a # 定义第一个数
for num in numbers:
if num > num1: # 用a去跟后面的数作比较
num1 = num
print(num1)
max1(12, 34, 545, 43, 435, 6)
545
3、编写一个函数,实现摇色子的功能,打印N个色子的点数和。
def shai_zi(N):
"""实现摇色子功能,并求所有色子的点数和"""
import random # 导入随机数模块
sum2 = 0
for x in range(N):
num = random.randint(1, 6)
print(num) # 打印每个色子的点数
sum2 += num
print(sum2)
shai_zi(3)
6
3
2
11
4、编写一个函数,交换指定字典的key和value。
例如:{'a' :1,'b':2,'c' :3} ---> {1:'a', 2: 'b', 3: 'c'}
def change_dict(dict1):
"""交换字典中键和值"""
dict2 = {}
for x in dict1:
value = dict1[x] # 提取输入字典的值
dict2[value] = x
print(dict2)
change_dict({'a': 1, 'b': 2})
{1: 'a', 2: 'b'}
5、编写一个函数,求三个数中的最大值 。
def max1(num1, num2, num3):
"""比较三个数的大小,并求出最大的值"""
max_num = num1 # 假定第一个数最大
if max_num < num2:
max_num = num2
if max_num < num3:
max_num = num3
print(max_num)
max1(52, 24, 4)
52
6、编写一个函数,提取指点字符串中的所有字母,然后拼接在一起后打印出来。
例如::' 12a&bc12d--'-->打印‘abcd’
def print_letter(string):
"""提取字符串的字母,并拼接打印"""
str1 = '' # 命名一个空的字符串
for x in string:
if x.isalpha() == True: # 判断提取的字符是否是字母
str1 += x # 拼接字符串
print(str1)
print_letter('d2eweds@!we')
dewedswe
7、编写一个函数,求多个数的平均值。
def average_value(*number):
"""求平均数"""
many = len(number) # 用于计数
sum1 = sum(number) # 求和,结果为str数据类型
print('平均数为%.3f ' % float(sum1/many))
average_value(1, 3, 5, 7, 9, 10, 11)
平均数为6.571
8、编写一个函数,默认求10的阶层,也可以求其他数的阶层。
def factorial(nums=10):
"""计算一个数的阶乘"""
sum1 = 1 # 用于装阶乘的结果
for nums in range(1, nums+1):
sum1 *= nums
print(sum1)
factorial(5)
120
9、编写一个函数,可以对多个数进行不同的运算
例如: operation(‘+’,1,2,3)--->求 1+ 2+3的结果
operation('-',10,9)-->求10 -9 的结果
operation(‘ * ’,2,4,8,10)--->求2* 4* 8* 10的结构
def operation(symbol, *numbers):
"""多功能计算函数"""
list1 = list(numbers)
if symbol == '+': # 判断运算符号是否是加号
sum1 = sum(list1)
if symbol == '-': # 判断运算符号是否是减号
sum1 = list1.pop(0)
for num in list1:
sum1 -= num
if symbol == '*': # 判断运算符号是否是乘号
sum1 = 1
for num in list1:
sum1 *= num
if symbol == '/': # 判断运算符号是否是除号
sum1 = list1.pop(0)
for num in list1:
sum1 /= num
print('运算符号为%s,结果为%.3f' % (symbol, float(sum1)))
operation('*', 1000, 5, 18, 20)
运算符号为*,结果为1800000.000