Day-09 练习

2019-01-04  本文已影响0人  水果坚果燕麦片
  1. 编写一个函数,求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
  1. 编写一个函数,求多个数中的最大值
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)
  1. 编写一个函数,实现摇色字的功能,打印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
  1. 编写一个函数,交换指定字典的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'}
  1. 编写一个函数,三个数中的最大值
令 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
  1. 编写一个函数,提取指定字符串中的所有的字母,然后拼接在一起后打印出来
    例如:'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
  1. 写一个函数,求多个数的平均值
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
  1. 写一个函数,默认求10的阶层,也可以求其他数的阶层
def factorial(N = 10):
    plus = 1
    for x in range(1,N+1):
        plus *= x
    print(plus)

factorial()
factorial(5)
结果如下:
3628800
120

  1. 写一个函数,可以对多个数进的不同的运算
    例如: 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
上一篇下一篇

猜你喜欢

热点阅读