day6-作业

2018-10-11  本文已影响0人  暖心人桂

1. 编写一个函数,求1+2+3+...+N

def sum1(num):
num1=1
for x in range(1,num+1):
num1+=x
print(num1)
sum1(100)

2. 编写一个函数,求多个数中的最大值

def sum2(n):
max1 = max(
n)
print(max1)
sum2(213,41,141,14124,241)

3. 编写一个函数,实现摇骰子的功能,打印n个骰子的点数和

import random
def sum1(n):
num1 = 0
while 0<=n:
num = random.randint(1, 6)
num1+=num
n = n - 1
print(num1)
sum1(5)

4. 编写一个函数,交换指定字典的key和value。

如:{'a':1, 'b':2, 'c':3} ---> {1:'a', 2:'b', 3:'c'}

def change_dict(list1:dict):
list_keys,list_values = [],[]
list2 = {}
list_keys = list1.keys()
list_values = list1.values()
list2 = list2.fromkeys(list_values) #先得到交换后的keys
count1 = 0
for values in list_values: #赋值交换后keys对应的values
count2 = 0
for keys in list_keys:
if count2 == count1:
list2[values] = keys
count2 += 1
count1 += 1

print('改变前==》',list1)
return list2

print('改变后==》',change_dict({1:'a', 2:'b', 3:'c'}))

5. 编写一个函数,提取指定字符串中的所有的字母,然后拼接在一起后打印出来

def str2(n):
str1 = ''
for x in n:
if 'a'<=x<='z' or 'A'<=x<='Z':
str1+=x
else:
continue
print(str1)
str2('asdf223')

如:'12a&bc12d--' ---> 打印'abcd'

6. 写一个函数,求多个数的平均值

def num1(*n):
num = 0
for x in n:
num += x
print('和是%d;平均值是%.2f:'%(num,num/len(n)))
num1(10,23,1)

7. 写一个函数,默认求10的阶层,也可以求其他数的阶层

print('=============')
def factorial(n):
num1 =1
for x in range(1,n+1):
num1*=x

print('n的阶乘是%d'%num1)

factorial(10)

8. 写一个函数,可以对多个数进行不同的运算

def operation(value1,*value2):
list1 = list(value2)
first_value = list1[0]
for x in list1[1:]:
first_value = eval('%d %s %d' % (first_value,value1,x))
print(first_value)

operation('+',1,2)
operation('*',2,3,4,5)

如: operation('+', 1, 2, 3) ---> 求 1+2+3的结果 operation('-', 10, 9) ---> 求 10-9的结果 operation('', 2, 4, 8, 10) ---> 求 24810的结构

9.写一个函数,求指定列表中,指定的元素的个数

def list1(list,n):

num1=0
for x in list:
    if x ==n:
        num1+=1
print(num1)

list1([12,12,123,1,1],12)

10.写一个函数,获取指定列表中指定元素对应的下标(如果有多个,一起返回)

def list1(list,n):
for x in range(len(list)):

    print(list)

list1([12, 12, 123, 1, 1], 12)

上一篇 下一篇

猜你喜欢

热点阅读