1.写一个函数,求1+2+3+...+N
def my_sum(n):
"""
求1+2+3+...+N的和
:param n: 参数,int,n的个数
:return: 返回和
"""
sum1 = 0
for number in range(n):
sum1 += number + 1
return sum1
n = int(input('请输入N的值:'))
print(my_sum(n))
结果:
请输入N的值:10
55
2.求多个数中的最大值
def my_max(numbers):
"""
求多个数中的最大值
:param numbers: 参数,list,数字
:return:
"""
number_max = numbers[0]
for number in numbers:
if number>number_max:
number_max = number
return number_max
numbers = []
while True:
value = input('请输入数字(输入ok退出输入模式):')
if value == 'ok':
break
elif value.isdigit():
numbers.append(int(value))
continue
else:
print('输入值只能是数字!')
print('您输入的数据中最大的数字是:', my_max(numbers))
结果:
请输入数字(输入ok退出输入模式):12
请输入数字(输入ok退出输入模式):23
请输入数字(输入ok退出输入模式):1
请输入数字(输入ok退出输入模式):17
请输入数字(输入ok退出输入模式):66
请输入数字(输入ok退出输入模式):28
请输入数字(输入ok退出输入模式):34
请输入数字(输入ok退出输入模式):ok
您输入的数据中最大的数字是: 66
3.编写一个函数,实现色子功能,打印n个色子点数的和
import random
def dice_count_sum(value):
"""
随机产生色子的点数,打印n个色子点数的和
:param value: 参数,int,色子的个数
:return: 色子的点数和,和色子的点数的列表
"""
dice_count = []
sum1 = 0
n = int(value)
for index in range(n):
dice_count.append(random.randint(1,6))
sum1 += dice_count[index]
return sum1, dice_count
n = input('请输入色子的个数:')
sum2, dice = dice_count_sum(n)
print('6个色子的点数之和是:', sum2)
print('6个色子的点数分别是:', dice)
结果:
请输入色子的个数:6
6个色子的点数之和是: 24
6个色子的点数分别是: [5, 1, 6, 2, 5, 5]
4.编写一个函数,交换字典的key和value
def dict_swap(dict1):
"""
交换字典的key和value
:param dict1: 参数,dict,
:return: dict,新的字典
"""
print(dict1)
dict2 = {}
for key, value in dict1.items():
dict2[value] = key
return dict2
dict1 = {'name': 'joe', 'age':'18', 'tel':'132'}
print(dict_swap(dict1))
结果:
{'name': 'joe', 'age': '18', 'tel': '132'}
{'joe': 'name', '18': 'age', '132': 'tel'}
5.编写一个函数,求三个数中的最大值
def my_max(num1, num2, num3):
"""
求三个数中的最大值
:param num1: 参数1,int
:param num2: 参数2,int
:param num3: 参数3,int
:return: int
"""
number_max = num1
if num2>number_max:
number_max = num2
if num3>number_max:
number_max = num3
return number_max
print(my_max(11, 22, 12))
结果:
22
6.编写-一个函数, 提取指定字符串中的所有的字母,然后拼接在一起后打印出来
def get_chars(str1):
"""
提取指定字符串中的所有的字母,然后拼接在一起后打印出来
:param str1: 参数,str
:return: str
"""
chars = ''
for char in str1:
if 'a'<=char<='z' or 'A'<=char<='Z':
chars += char
return chars
str1 = input('请输入一串字符串:')
print(get_chars(str1))
结果:
编写-一个函数, 提取指定字符串中的所有的字母,然后拼接在一起后打印出来
def get_chars(str1):
"""
提取指定字符串中的所有的字母,然后拼接在一起后打印出来
:param str1: 参数,str
:return: str
"""
chars = ''
for char in str1:
if 'a'<=char<='z' or 'A'<=char<='Z':
chars += char
return chars
str1 = input('请输入一串字符串:')
print(get_chars(str1))
7.写一个函数,求多个数的平均值
def get_ave(numbers):
"""
求多个数的平均值
:param numbers: 参数,list
:return: int
"""
sum1 = 0
for number in numbers:
sum1 += number
ave = sum1/len(numbers)
return ave
numbers = []
while True:
value = input('请输入数字(输入ok退出输入模式):')
if value == 'ok':
break
elif value.isdigit():
numbers.append(int(value))
continue
else:
print('输入值只能是数字!')
print(get_ave(numbers))
结果:
请输入数字(输入ok退出输入模式):10
请输入数字(输入ok退出输入模式):20
请输入数字(输入ok退出输入模式):20
请输入数字(输入ok退出输入模式):30
请输入数字(输入ok退出输入模式):50
请输入数字(输入ok退出输入模式):ok
26.0
8.写一个函数,默认求10的阶层,也可以求其他数的阶层
def my_factorial(number):
"""
求一个数的阶乘
:param number: 参数,int
:return: int
"""
result = 1
for num in range(1, number+1):
result *= num
return result
number = int(input('请输入一个整数:'))
print('它的阶乘是:', my_factorial(number))
结果:
请输入一个整数:5
它的阶乘是: 120
9.写一个函数,可以对多个数进行不同的运算
def my_calculator(char, numbers):
"""
可以对多个数进行不同的运算
:param char: 参数1,str
:param numbers: 参数2,list
:return: int,float
"""
if char == '+':
result = 0
for number in numbers:
result += number
return result
if char == '-':
result = numbers[0]
for number in numbers:
if number == numbers[0]:
continue
result -= number
return result
if char == '*':
result = 1
for number in numbers:
result *= number
return result
if char == '/':
result = numbers[0]
for number in numbers:
if number == 0:
return '除数不能为0!'
if number == numbers[0]:
continue
result /= number
return result
numbers = []
while True:
char = input('请输入+-*/中的一个:')
if char in '+-*/':
break
print('输入有误!')
while True:
value = input('请输入数字(输入ok退出输入模式):')
if value.lower() == 'ok':
if len(numbers)<2:
print('请至少输入2个数字!')
continue
break
elif value.isdigit():
numbers.append(int(value))
continue
else:
print('输入值只能是数字!')
print('结果是:', my_calculator(char, numbers))
结果:
#加法
请输入+-*/中的一个:+
请输入数字(输入ok退出输入模式):1
请输入数字(输入ok退出输入模式):2
请输入数字(输入ok退出输入模式):3
请输入数字(输入ok退出输入模式):4
请输入数字(输入ok退出输入模式):5
请输入数字(输入ok退出输入模式):ok
结果是: 15
# 减法
请输入+-*/中的一个:-
请输入数字(输入ok退出输入模式):100
请输入数字(输入ok退出输入模式):20
请输入数字(输入ok退出输入模式):10
请输入数字(输入ok退出输入模式):30
请输入数字(输入ok退出输入模式):ok
结果是: 40
# 乘法
请输入+-*/中的一个:*
请输入数字(输入ok退出输入模式):1
请输入数字(输入ok退出输入模式):2
请输入数字(输入ok退出输入模式):3
请输入数字(输入ok退出输入模式):4
请输入数字(输入ok退出输入模式):5
请输入数字(输入ok退出输入模式):ok
结果是: 120
# 除法
请输入+-*/中的一个:/
请输入数字(输入ok退出输入模式):120
请输入数字(输入ok退出输入模式):5
请输入数字(输入ok退出输入模式):4
请输入数字(输入ok退出输入模式):3
请输入数字(输入ok退出输入模式):ok
结果是: 2.0