zoukankan      html  css  js  c++  java
  • Python课程第四天作业

    1.定义一个函数,该函数可以实现控制台输入,最终返回一个int类型的正整数

    def chr_to_int():
        user_input = input('请输您要转换的字符串:')
        if user_input.isdigit():
            return int(user_input)
        return False

    2.定义一个函数,该函数可以实现用户录入,最终返回一个int类型的负整数

    def chr_to_neg():
        user_input = input('请输您要转换的字符串:')
        if user_input.startswith('-') and user_input.split('-')[1].isdigit():
            return int(user_input)
        return False
    

    3.定义一个函数,实现传入一个数或是字符串,返回值是 是否 是可转换为整数类型的数据

    def chr_to_int_neg():
        user_input = input('请输您要转换的字符串:')
        if user_input.isdigit():
            return True
        elif user_input.startswith('-') and user_input.split('-',1)[1].isdigit():
            return True
        return False  

    4.定义一个函数,实现传入一个整型数字,判断并直接打印该数字是否是奇数还是偶数

    def odd_or_even(user_input):
        if user_input.isdigit():
            if int(user_input) % 2 == 1:
                print('是奇数')
            else:
                print('是偶数')
        return False 

    5.定义一个函数,实现判断传入数据的类型,并直接打印其类型

    def judge_type(user_input):
        type_list=[str,int,list,set,dict,tuple,float,bool,complex]
        for i in type_list:
            if isinstance(user_input, i):
                 print(i) 

    6.定义一个函数,实现可以重复录入键盘信息,当用户输入q或Q时退出,否则判断是否为可转换为整数类型的数据,可以的话输出该数是奇数还是偶数,否则直接输出该字符串

    def digital_conversion():
        while True:
            user_input = input('请输您的内容:')
            if user_input.isdigit():
                if int(user_input) % 2 == 1:
                    print('是奇数')
                else:
                    print('是偶数')
            elif user_input.startswith('-') and user_input.split('-',1)[1].isdigit():
                if int(user_input) % 2 == 1:
                    print('是奇数')
                else:
                    print('是偶数')
            elif user_input == 'Q' or user_input == 'q':
                return 0
            else:
                print(user_input)  

     7.定义一个函数,只要传入 "k1:v1,...,kn:vn" 格式的字符串,都可以将其转换为 {'k1':'v1',...,'kn':'vn'}  

    def str_to_dict(user_input):
        x = {}
        for i in user_input.split(','):
            k, v = i.split(':')
            x[k] = v
        print(x)

     8.定义一个函数,实现列表与元组类型的反转功能

    def lsit_and_tuple(user_input):
        if isinstance(user_input, tuple):
            return list(user_input)
        if isinstance(user_input, list):
            return tuple(user_input)  

    9.定义一个函数,可以完成对list、tuple、dict、set四种类型数据的循环变量打印,不是这四种,则打印 "暂不支持该数据遍历"

    def list_tuple_dict_set(user_input):
        ls=[list,tuple,dict,set]
        for i in ls:
            if isinstance(user_input,i):
                for k in user_input:
                    print(k)
                return
            else:
                print('暂不支持该数据遍历') 

    10.定义一个函数,实现对单列集合进行去除的功能

    def get_clear(data):
        if isinstance(data, set):
            return data
        temp_list = []
        for v in data:
            if v not in temp_list:
                temp_list.append(v)
        if isinstance(data, tuple):
            return tuple(temp_list)
        return temp_list

    11.定义一个函数,实现文件(不一定是文本文件)的跨文件夹的移动

    import shutil
    def file_mv(source_file,target_dir):
        shutil.move(source_file,target_dir)  

    12..写出完整的装饰器(不⽤考虑带参装饰器,就是普通装饰器)语法

    def outer(func):
        def inner(*args, **kwargs):
            #装饰前操作
            res = func(*args, **kwargs)
            #装饰后操作
            return res
        return inner
    
    @outer
    def func(*args, **kwargs):
        pass
    

    13.有⼀个计算两个数和的⽅法,为其添加⼀个确保两个参数都是int或float类型的装饰器,保证运算不会抛异常

    def outer(func):
        def inner(*args, **kwargs):
            for i in args:
                if not (isinstance(i,int) or isinstance(i,float)):
                    print('参数不合法')
                    return  False
            res = func(*args, **kwargs)
            return res
        return inner
    
    @outer
    def num_sum(a,b):
        print(a + b)  

    14.有⼀个⼀次性录⼊⼈名并返回⼈名的⽅法(⼈名只考虑存英⽂),为其添加⼀个装饰器,使得处理后⼈名⾸字⺟⼀定⼤写

    def outer1(func):
        def inner(*args, **kwargs):
            res = func(*args, **kwargs)
            return res.title()
        return inner
    
    @outer1
    def retun_name(name):
        return name
    

      

  • 相关阅读:
    Android学习之三:使用DDMS调试程序
    Android学习之二:使用Android文档帮助
    Android学习之四:创建一个简单程序
    Android学习之五:android一些基本控件
    创建Android开发环境
    Android学习之七:使用Container
    Android学习之六:使用Container
    IOSresign keyboard 新法儿
    IOStxt文件UTF8、UTF16格式
    IOSXMPP arc用方法fobjcarc
  • 原文地址:https://www.cnblogs.com/panwenbin-logs/p/10729278.html
Copyright © 2011-2022 走看看