1.编写一个函数,求1+2+3+...+N
def my_sum(count):
"""
计算1-N的和
:param count: count为传入的N值
"""
sum1 = 0 # 用以存储和
for x in range(count + 1):
sum1 += x
print('1-%d的和是:%d' % (count, sum1))
input_n = int(input('请输入你要求的数1-N的和中的N:'))
my_sum(input_n)
2.编写一个函数,求多个数中的最大值
def my_max(*number):
"""
求多个数中的最大值
:param number: 提供的比较数的元祖
"""
max1 = number[0]
for item in number:
if max1 < item:
max1 = item
print('最大值为:%d' % max1)
my_max(1, 2, 3, 99, 88, 77)
3.编写一个函数,实现摇色子的功能,打印n个色子的点数和
import random
def sum_dice(count):
"""
打印n个色子的点数和
:param count: 提供色子的个数
"""
sum1 = 0 # 用以存储色子的点数和
for x in range(count):
number1 = random.randint(1, 6) # 随机生成一个色子点数
print(number1)
sum1 += number1
print('%d个色子的点数和是:%d' % (count, sum1))
input_dice = int(input('请输入色子个数:'))
sum_dice(input_dice)
4.编写一个函数, 交换指定字典的key和value。
例如:{'a' :1,'b':2,'c' :3} ---> {1:'a', 2: 'b', 3: 'c'}
def exchange_dict(dict1):
"""
交换指定字典的key和value
:param dict1: 输入一个指定的字典
"""
dict2 = {} # 用以存放交换后的字典
for key, value in dict1.items():
dict2[value] = key
# dict1 = {}
# dict1.update(dict2)
print(dict2)
dict_1 = {'a': 1, 'b': 2, 'c': 3}
exchange_dict(dict_1)
5.编写一个函数,三个数中的最大值
def max_3(a, b, c):
"""
求三个数中的最大值
:param a: 提供第一个数
:param b: 提供第二个数
:param c: 提供第三个数
"""
max_ = a
if max_ < b:
max_ = b
if max_ < c:
max_ = c
print('最大值为:%d' % max_)
max_3(2, 3, 6)
6.编写-一个函数, 提取指定字符串中的所有的字母,然后拼接在一起后打印出来
例如: ' 12a&bc12d--' --->打印' abcd '
def find_char(str1):
"""
提取指定字符串中的所有的字母,然后拼接在一起后打印出来
:param str1: 提供指定的字符串
"""
# 创建所有字母的列表
char_list = list(chr(x) for x in range(97,123))
char_list += list(chr(x) for x in range(65, 91))
str2 = '' # 存放字符串中的所有字母
for x in str1:
if x in char_list:
str2 += x
print(str2)
input_str = input('请输入一串字符串')
find_char(input_str)
7.写一个函数,求多个数的平均值
def find_avg(*number):
"""
求多个数的平均值
:param number: 提供多个数
"""
sum_ = 0 # 存放多个数的和
avg_ = 0 # 存放多个数的平均值
for x in number:
sum_ += x
avg_ = (sum_ / len(number))
print('平均值为:%f' % avg_)
find_avg(1, 2, 3, 4, 5, 6)
8.写一个函数,默认求10的阶层,也可以求其他数的阶层
def rank(number):
"""
求number的阶层
:param number: 提供要求阶层的数
"""
pro = 1 # 存放阶层
for x in range(1,number + 1):
pro *= x
print('%d的阶层为:%d' % (number, pro))
input_rank = int(input('请输入要求阶层的数字:'))
rank(input_rank)
9.写一个函数,可以对多个数进行不同的运算
例如: operation('+', 1,2,3) --->求1+2+3的结果
operation( '-',10,9) --->求10-9的结果
operation( '',2,4,8,10) --->求24* 8* 10的结果
def operation(mark, *number):
"""
可以对多个数进行不同的运算
:param mark: 提供运算符
:param number: 提供要运算的数
"""
# 加法运算
if mark == '+':
sum_ = 0
for x in number:
sum_ += x
print('所有和为:%d' % sum_)
# 减法运算
if mark == '-':
sub = number[0]
for x in range(1, len(number)):
sub -= number[x]
print('第一个数减后面的数的差为:%d' % sub)
# 乘法运算
if mark == '*':
pro = 1
for x in number:
pro *= x
print('所有数的乘积为:%d' % pro)
operation('+', 1, 2, 3)
operation('-', 99, 5, 4)
operation('*', 1, 4, 7)