day8 - 函数基础 - 作业

2018-11-14  本文已影响0人  未醒的梦_19b0
  1. 编写一个函数,求1+2+3+...+N
def my_sum(N):
    """求1+2+3+...+N"""
    my_sum1 = 0
    for n in range(N+1):
        my_sum1 += n
    print(my_sum1)


my_sum(100)
  1. 编写一个函数,求多个数中的最大值
def my_max(my_list):
    """求1+2+3+...+N"""
 def my_max(my_list):
    """求1+2+3+...+N"""
    my_max1 = 0
    for n in my_list:
        if n > my_max1:
            my_max1 = n
    print(my_max1)
    

list1 = []
my_num = float(input('请输入想当老大的数字:'))
list1.append(my_num)
while my_num :
    my_num = float(input('请输入想当老大的数字:'))
    list1.append(my_num)
my_max(list1)
  1. 编写一个函数,实现摇色子的功能,打印n个色子的点数和
import random


def roll_dice(n):
    """打印n个色子的点数和"""
    sum1 = 0
    for one_dice in range(n):
        one_dice = random.randint(1, 6)
        sum1 += one_dice
        print(one_dice, end=' ')
    print('\n%d个色子的和为%d' % (n, sum1))


num1 = int(input('请输入色子的个数:'))
roll_dice(num1)
  1. 编写一个函数,交换指定字典的key和value。
    例如:{'a':1, 'b':2, 'c':3} ---> {1:'a', 2:'b', 3:'c'}
def  exchange(dict_exchange):
    """交换指定字典的key和value"""
    list_exchange = []
    my_dict = {}
    dict_exchange.keys()
    dict_exchange.values()
    for item in dict_exchange.keys():
        list_exchange.append(item)
    for item1 in dict_exchange.values():
        list_exchange.append(item1)
    my_dict[list_exchange[len(dict_exchange)]] = list_exchange[0]
    my_dict[list_exchange[len(dict_exchange)+1]] = list_exchange[1]
    my_dict[list_exchange[len(dict_exchange)]+2] = list_exchange[2]
    print(my_dict)
dict_exchange = {'a':1, 'b':2, 'c':3}
exchange(dict_exchange)

结论:

C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\python.exe "D:/python工程/个人/day8容器类型2/容器/08 - 作业.py"
{1: 'a', 2: 'b', 3: 'c'}

Process finished with exit code 0
  1. 编写一个函数,三个数中的最大值
def my_max(num1,num2,num3):
    """三个数中的最大值"""
    if num1 > num2:
        if num1 > num3:
            print('最大值为%d'%num1)
        else:
            print('最大值为%d' % num3)
    else:
        if num2 > num3:
            print('最大值为%d'%num2)
        else:
            print('最大值为%d' % num3)


my_max(20,10,40)
  1. 编写一个函数,提取指定字符串串中的所有的字母,然后拼接在一起后打印出来吗。例如:'12a&bc12d--' ---> 打印'abcd'
def spell_the_letters(the_letters):
    """提取指定字符串串中的所有的字母,然后拼接在一起后打印出来"""
    the_letters1 = ''
    for item in the_letters:
        if 'A'< item < 'Z' or 'a'< item < 'z':
            the_letters1 += item
    print(the_letters1)


the_letters = input('请输入一串字符串:')
spell_the_letters(the_letters)
  1. 写一个函数,求多个数的平均值
def average_value(my_list):
    """求多个数的平均值"""
    my_sum = 0
    for item in my_list:
        my_sum += item
    print(my_sum /len(my_list))


my_num = int(input('请输入数的个数:'))
list_averge = []
while my_num:
    my_input = float(input('请输入数据:'))
    list_averge.append(my_input)
    my_num -= 1
average_value(list_averge)
  1. 写一个函数,默认求10的阶层,也可以求其他数的阶层
def factorial(n):
    """默认求10的阶层,也可以求其他数的阶层"""
    mul = 1
    for item in range(1, 11):
        mul *= item
    print('10的阶乘= %d' % mul)
    if n != 10 :
        for item1 in range(1,n+1):
            mul *= item1
        print('%d的阶乘= %d'%(n,mul))


n = int(input('求n的阶乘,默认为10:'))
factorial(n)
  1. 写一个函数,可以对多个数进行不同的运算
    例如: operation('+', 1, 2, 3) ---> 求 1+2+3的结果operation('-', 10, 9) ---> 求 10-9的结果operation('', 2, 4, 8, 10) ---> 求 24810的结构
def operation(symbol, *num1):
    """求 2*4*8*10的结构"""
    mul = 1
    sum1 = 0
    if symbol == '*':
        for item in num1:
            mul *= item
        print(*num1, sep='*')
        print(mul)
    if symbol == '+':
        for item1 in num1:
            sum1 += item1
        print(*num1,sep='+')
        print(sum1)
    if symbol == '-':
        for item1 in num1:
            sum1 -= item1
        print(*num1,sep='-')
        print(sum1)


operation('*', 2, 4, 8, 10)

结论:

C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\python.exe "D:/python工程/个人/day8容器类型2/容器/08 - 作业.py"
2*4*8*10
640

Process finished with exit code 0
def operation(my_list,count):
    """求 2*4*8*10的结构"""
    mul = 1
    str_operation = ''
    for index in range(1, count+1):
        if index < count:
            str_operation += str(my_list[index])
            str_operation += str(my_list[0])
        elif index == count:
            str_operation += str(my_list[index])
    print(str_operation)


my_list = ['*']
count_num = int(input('请输入数的个数:'))
count_num1 = count_num
while count_num:
    my_num = float(input('请输入一个数'))
    count_num -= 1
    my_list.append(my_num)
operation(my_list,count_num1)

结论:

C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\python.exe "D:/python工程/个人/day8容器类型2/容器/08 - 作业.py"
请输入数的个数:5
请输入一个数10
请输入一个数20
请输入一个数30
请输入一个数40
请输入一个数50
10.0*20.0*30.0*40.0*50.0

Process finished with exit code 0
上一篇 下一篇

猜你喜欢

热点阅读