Day-09 练习
2019-01-04 本文已影响0人
水果坚果燕麦片
- 编写一个函数,求1+2+3+...+N
def sigama(num : int):
sum = 0
for N in range(num + 1):
sum += N
print('1到%d累加的和為%d' %(num, sum))
num_input = int(input('輸入一個整數N,計算從1到N的累加的和'))
sigama(num_input)
结果如下:
輸入一個整數N,計算從1到N的累加的和10
1到10累加的和為55
- 编写一个函数,求多个数中的最大值
def find_max(nums):
print(max(nums))
list = []
num_input = input()
while num_input !='end':
list.append(num_input)
num_input = input()
find_max(list)
- 编写一个函数,实现摇色字的功能,打印n个色子的点数和
import random
def sum_points(N):
sum = 0
for items in range(N):
points = random.randint(1,6)
sum += points
print(points)
print('点数和为:', sum)
N = int(input('输入一个正整数N,累加N个色子点数的和'))
sum_points(N)
结果如下:
输入一个正整数N,累加N个色子点数的和3
2
2
6
点数和为: 10
- 编写一个函数,交换指定字典的key和value。
例如:{'a':1, 'b':2, 'c':3} ---> {1:'a', 2:'b', 3:'c'}
dict1 = {'a': 1, 'b': 2, 'c': 3}
def swap_dict(dict):
dict = {value : key for key, value in dict1.items()}
print(dict)
swap_dict(dict1)
结果如下:
{1: 'a', 2: 'b', 3: 'c'}
- 编写一个函数,三个数中的最大值
令 N =3 即可
def find_max(nums):
print(max(nums)
list = []
num_input = input()
while num_input !='end':
list.append(num_input)
num_input = input()
find_max(list)
----------------------
def find_max_three(a,b,c):
max = a
if max < b:
max = b
if c > max:
max = c
print(max)
find_max_three(6,5,10)
结果如下:
10
- 编写一个函数,提取指定字符串中的所有的字母,然后拼接在一起后打印出来
例如:'12a&bc12d--' ---> 打印'abcd'
def take_alpha(str =''):
str1 = ''
for items in str:
if 'a' <= items <= 'z' or 'A' <= items <= 'Z':
str1 += items
print(str1)
take_alpha('12a&bc12d--')
结果如下:
abcd
- 写一个函数,求多个数的平均值
def accumulate_ave(*args, **kwargs):
sum = 0;count = 0
for items in args:
sum += items
count += 1
for key in kwargs:
sum += kwargs[key]
count += 1
print(sum/count)
accumulate_ave(1, 2, 3, a=4)
结果如下:
2.5
- 写一个函数,默认求10的阶层,也可以求其他数的阶层
def factorial(N = 10):
plus = 1
for x in range(1,N+1):
plus *= x
print(plus)
factorial()
factorial(5)
结果如下:
3628800
120
- 写一个函数,可以对多个数进的不同的运算
例如: operation('+', 1, 2, 3) ---> 求 1+2+3的结果
operation('-', 10, 9) ---> 求 10-9的结果
operation('', 2, 4, 8, 10) ---> 求 24810的结果
def operation(symbol,*nums):
if symbol == "+":
sum =0
for items in nums:
sum += items
if symbol == "-":
sum = 2 * nums[0]
for items in nums:
sum -= items
if symbol == "*":
sum = 1
for items in nums:
sum *= items
print('结果为',sum)
operation('+', 1, 2, 3)
operation('-', 10, 9)
operation('*', 2, 4, 8, 10)
结果如下:
结果为 6
结果为 1
结果为 640