1. 编写一个函数,求1+2+3+...+N
n = int(input('请输入一个整数:'))
def sum1(num):
total = 0
for x in range(num + 1):
total += x
return total
print('结果:%d' % sum1(n))
2. 编写一个函数,求多个数中的最大值
def max_num(*list2):
max1 = 0
for num in list2:
if num > max1:
max1 = num
return max1
print('max = %d' % max_num(7, 5, 12, 87, 72, 0, 45, 87))
3. 编写一个函数,实现摇骰子的功能,打印n个骰子的点数和
from random import randint
def yao_sezi(num):
sum1 = 0
for x in range(1, num + 1):
sum1 += randint(1,6)
return sum1
flag = '1'
while flag:
n = int(input('请输入骰子个数:'))
print('%d 颗骰子总点数为:%d' % (n, yao_sezi(n)))
print('1.继续')
print('2.结束')
flag = input('>>>')
if flag == '1':
continue
elif flag== '2':
break
else:
print('输入错误,重新输入!')
flag = input('>>>')
4. 编写一个函数,交换指定字典的key和value。
如:{'a':1, 'b':2, 'c':3} ---> {1:'a', 2:'b', 3:'c'}
dict2 = {'a':1, 'b':2, 'c':3}
print(dict2)
def change_key_value(dict1):
dict3 = {}
for item in dict1:
dict3[dict1[item]] = item
return dict3
dict2 = change_key_value(dict2)
print(dict2)
5. 编写一个函数,提取指定字符串中的所有的字母,然后拼接在一起后打印出来
如:'12a&bc12d--' ---> 打印'abcd'
str1 = '123kk4f0y58f$$k&q874pp'
def get_str(s):
s1 = ''
for str2 in s:
if str2.isalpha():
s1 += str2
else:
continue
return s1
print(str1)
print(get_str(str1))
6. 写一个函数,求多个数的平均值
def average_num(*list1):
sum1 = 0
for x in list1:
sum1 += x
return sum1 / len(list1)
print('average = %.2f' % average_num(4, 54, 89, 20))
7. 写一个函数,默认求10的阶层,也可以求其他数的阶层
def jie_ceng(n = 10):
sum1 = 1
for x in range(1, n + 1):
sum1 *= x
return sum1
print('1.求默认值阶乘')
print('2.自定义阶乘')
flag = int(input('请输入你的选择:'))
if flag == 1:
print(jie_ceng())
elif flag == 2:
num = int(input('请输入需求阶乘的正整数:'))
print(jie_ceng(num))
else:
print('输入错误,重新输入!')
flag = int(input('请输入你的选择数:'))
8. 写一个函数,可以对多个数进行不同的运算
如: operation('+', 1, 2, 3) ---> 求 1+2+3的结果 operation('-', 10, 9) ---> 求 10-9的结果 operation('', 2, 4, 8, 10) ---> 求 24810的结构
def operation(str1, *num):
total = 0
if str1 == '+':
for x in num:
total += x
elif str1 == '-':
total = num[0]
for x in range(1,len(num)):
total -= num[x]
elif str1 == '*':
total = num[0]
for x in num:
total *= x
else:
return None
return total
print(operation('-', 1, 2, 3, 4))
9.写一个函数,求指定列表中,指定的元素的个数
def count_times(str1,list1):
count = 0
for x in list1:
if x == str1:
count += 1
else:
continue
return count
list2 = ['a', 'b', 'c', 12, 'kk', 'a', 12, 'c','a']
print(list2)
print(count_times('a', list2))
10.写一个函数,获取指定列表中指定元素对应的下标(如果有多个,一起返回)
def get_index(str1, list1):
list2 = []
for x in range(len(list1)):
if list1[x] == str1:
list2.append(x)
continue
else:
continue
return list2
list3 = ['a', 'b', 'c', 12, 'kk', 'a', 12, 'c','a']
print(list3)
index = get_index('a', list3)
if len(index):
print('下标:', end='')
for i in index:
print(i ,end=',')
else:
print('该字符不在此序列中')