1.编写一个函数,求1+2+3+...+N
# 1.编写一个函数,求1+2+3+...+N
def 高斯求和(n):
return int(0.5*(n*(n+1))) # 高斯求和公式 s=(n+1)*n/2
n = int(input("请输入N的值"))
print("高斯求和的结果是:",高斯求和(n))
运行效果:
请输入N的值100
高斯求和的结果是: 5050
2.编写一个函数,求多个数中的最大值
# 2.编写一个函数,求多个数中的最大值
def 求最大数(number):
max_number = 0
for i in number:
if i > max_number:
max_number = i
return max_number
input_num = input("请输入几个数字,每个数字用空格隔开:")
number =[]
for num in input_num.split(" "): # 把输入的字符以空格进行分割,分割后的数据存入一个列表
number.append(int(num))
print(number)
print("这些数字中最大的数是:",求最大数(number))
运行效果:
请输入几个数字,每个数字用空格隔开:1 2 5 99 3 5
[1, 2, 5, 99, 3, 5]
这些数字中最大的数是: 99
3.编写一一个函数,实现摇色子的功能,打印n个色子的点数和
# 3.编写一一个函数,实现摇色子的功能,打印n个色子的点数和
import random
def 摇色子(n):
s = 0 # s用于计算色子的点数和
for _ in range(n): # 产生N个色子
s += random.randint(1,6)
print("色子总点数为:",s)
n = int(input("请输入色子的个数:"))
摇色子(n)
运行效果:
请输入色子的个数:6
色子总点数为: 20
4.编写一个函数, 交换指定字典的key和value。
例如:{'a' :1,'b':2,'c' :3} ---> {1:'a', 2: 'b', 3: 'c'}
# 4.编写一个函数, 交换指定字典的key和value。
# 例如:{'a' :1,'b':2,'c' :3} ---> {1:'a', 2: 'b', 3: 'c'}
def 键值交换(dict1): # 参数传一个字典
keys = [] # 存提取出来的keys
value = [] # 存提取出来的value
for key in dict1:
keys.append(key) # 把传入的字典中的key提取出来放入 keys这个列表中 以便后面使用
value.append(dict1[key]) # 把传入的字典中的value提取出来放入 value这个列表中 以便后面使用
dict2 = dict1.fromkeys(value,) # 用value这个列表为Key创建一个新的字典
i = 0
for key in value:
dict2[key] = keys[i] # 将keys列表里的值赋给新创建的字典的value
i += 1
print(dict2)
键值交换({'a' :1,'b':2,'c' :3,"d":4})
运行结果:
{1: 'a', 2: 'b', 3: 'c', 4: 'd'}
5.编写-一个函数, 提取指定字符串中的所有的字母,然后拼接在一起后打印出来
def 提取字母(str1):
str2 = ""
for x in str1:
if "a"<=x<="z" or "A"<=x<="Z":
str2 += x
print("提取出的字母是:",str2)
str1 = input("请输入一串字符:")
提取字母(str1)
运行结果:
请输入一串字符:DFASF 13124dfg
提取出的字母是: DFASFdfg
6.写一个函数,默认求10的阶层,也可以求其他数的阶层
# 写一个函数,默认求10的阶层,也可以求其他数的阶层
def 求阶乘(n=10):
积 = 1
for number in range(1,n+1):
积 *= number
print("%d的阶乘是:%d"%(n,积))
求阶乘()
求阶乘(25)
运行结果:
10的阶乘是:3628800
25的阶乘是:15511210043330985984000000
7.写一个函数,可以对多个数进行不同的运算
例如: operation('+', 1,2,3) --->求1+2+3的结果
operation( '-',10,9) --->求10-9的结果
operation( '',2,4,8,10) --->求24* 8* 10的结构
# 写一个函数,可以对多个数进行不同的运算
# 例如: operation('+', 1,2,3) --->求1+2+3的结果
# operation( '-',10,9) --->求10-9的结果
# operation( '*',2,4,8,10) --->求2*4* 8* 10的结构
def operation(operate, *nubers): #通过第一个参数来判断是什么操作
if operate == "+":
resoult = 0
for nuber in nubers:
resoult += nuber
print(resoult)
elif operate == "-":
resoult = nubers[0] #被减数是第一个数
x = 0
for nuber in nubers:
if x>0: #判断number是不是从第二开始的
resoult -= nuber
x +=1
print(resoult)
elif operate == "*":
resoult = 1
for nuber in nubers:
resoult *= nuber
print(resoult)
else:
print("操作符输入有误")
operation("-",12,5,22,1)
operation("+",12,5,22,66)
operation("*",12,5,22,19)
运行结果:
-16
105
25080