- 编写一个函数,求1+2+3+...+N
def my_sum(num):
"""
求1+2+3+...+N
:type num: 输入的N值
"""
nums = 0
for x in range(1,num+1):#遍历1-N
nums += x
return nums
n = int(input('请输入N值:'))
print(my_sum(n))
请输入N值:3
6
2.编写一个函数,求多个数中的最大值
def my_max(*num):
max_num = 0#给默认最大值赋初值
for number in num: # 遍历所有输入的值,并与输入之前最大的数作比较
if max_num > number: # 如果小于当前最大的值,则最大值不变
max_num = max_num
else: # 否则将当前值赋给最大值
max_num = number
return max_num
print(my_max(1, 23, 43, 56))
最大值: 56
3.编写一个函数,实现摇色子的功能,打印n个色子的点数和
import random
def my_sum1(n):
m = 0
for _ in range(n): # 控制摇色子次数
x = random.randint(1, 7) # 生成摇色子点数
m += x # 求和
return m
print(my_sum1(6))
18
- 编写一个函数,交换指定字典的key和value。
def change_key_value(d):
return dict((v, k) for k, v in d.items()) # 生成器表达式(将字典先转换成一个包含两个元素的元组,交换两个元素的位置后,再将元组转换成字典)
dict1 = {'a': 1, 'b': 2}
print(change_key_value(dict1))
{1: 'a', 2: 'b'}
- 编写一个函数,三个数中的最大值
def there_max(a, b, c):
max_num = a # 默认a为最大值
if b > max_num: # 如果b大于a,就将b的值赋给a
max_num = b
if c > max_num: # 如果c大于a,就将c的值赋给a
max_num = c
return max_num
print(there_max(23, 12, 56))
56
- 编写一个函数,提取指定字符串中的所有的字母,然后拼接在一起后打印出来
def get_word(d):
str1 = '' # 声明一个空字符串
for x in d:
if 'A' < x < 'z' or x == 'A' or x == 'z': # 取A-z的字母,加入声明的空字符串中
str1 += x
return str1
print(get_word('ewfhudeui23234guuyfy'))
ewfhudeuiguuyfy
- 写一个函数,求多个数的平均值
def avg(*num):
sum_itm = 0 # 声明和
count = 0 # 声明个数
for number in num: # 遍历实参
sum_itm += number
count += 1
avg_item = sum_itm / count # 求平均数
return avg_item
print(avg(1, 2, 3, 4, 5))
3
- 写一个函数,默认求10的阶层,也可以求其他数的阶层
def stratum(n=10):
stratum_value = 1 # 默认阶层值为1
for i in range(1, n + 1):#从1开始到n结束
stratum_value *= i
return stratum_value
print(stratum(3))
6
- 写一个函数,可以对多个数进行不同的运算
def chose_operation(operation, *number):
if operation == '*':#判断运算符
result = 1#置初值
for m in number:#遍历参数
result *= m
if operation == '+':
result = 0
for m in number:
result += m
if operation == '-':
result = 2*number[0]
for m in number:
result -= m
return result
print(chose_operation('+', 1, 2, 3))
print(chose_operation('-', 10, 9))
print(chose_operation('*', 4, 2, 8, 10))
6
1
640