• Python学习第六天课后练习案例 (主要针对的内容是python函数的定义和使用)


    Python学习第六天课后练习案例 2019.07.19

    1.定义一个函数,该函数可以实现在内部输入一个信息,如果该信息不能转换为正整数,则重新输入,直到能转换为正整数,则对外返回转换的正整数

    程序代码:
    check_num = ['1','2','3','4','5','6','7','8','9','0']
    def func_one():
        while True:
            num = input("请输入一个正整数(如果不是正整数需要重新输入):")
            for i in num:
                if i not in check_num or num =='0' or num[0] =='0':
                    print("输入错误,需重新输入")
                    break
            else:
                return num
    # 输出
    print(func_one())
    
    运行结果:

    请输入一个正整数(如果不是正整数需要重新输入):-1
    输入错误,需重新输入
    请输入一个正整数(如果不是正整数需要重新输入):10
    10

    2.定义一个函数,该函数可以实现在内部输入一个信息,如果该信息不能转换为负整数,则重新输入,直到能转换为负整数,则对外返回转换的负整数

    程序代码:
    check_num = ['1','2','3','4','5','6','7','8','9','0','-']
    def func_two():
        while True:
            num = input("请输入一个负整数(如果不是负整数需要重新输入):")
            for i in num:
                if i not in check_num or num == '0' or num[0] != '-' or num[1] == '0':
                    print("输入错误,需重新输入")
                    break
            else:
                return num
    print(func_two())
    
    运行结果:

    请输入一个负整数(如果不是负整数需要重新输入):100
    输入错误,需重新输入
    请输入一个负整数(如果不是负整数需要重新输入):-100
    -100

    3.定义一个函数,实现外界传入一个信息,内部判断是否能被转换为正整数,返回True | Flase信息

    程序代码:
    check_num = ['1','2','3','4','5','6','7','8','9','0']
    def func_three(nums):
        for i in nums:
            if i not in check_num or nums =='0' or nums[0] =='0':
                return False
        else:
            return True
    nums = input("请输入一串字符:")
    print(func_three(nums))
    
    运行结果:

    请输入一串字符:abc
    False

    请输入一串字符:123
    True

    4.定义一个函数,实现外界传入一个信息,内部判断是否能被转换为负整数,返回True | Flase信息

    程序代码:
    check_num = ['1','2','3','4','5','6','7','8','9','0','-']
    def func_four(nums):
        for i in nums:
            if i not in check_num or nums == '0' or nums[0] != '-' or nums[1] == '0':
                return False
        else:
            return True
    nums = input("请输入一串字符:")
    print(func_four(nums))
    
    运行结果:

    请输入一串字符:5345
    False

    请输入一串字符:-123
    True

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

    程序代码:
    check_nums = ['1','2','3','4','5','6','7','8','9','0','-']
    def check_num(nums):
        if nums%2==0:
            print("你输入了一个偶数")
        if nums%2!=0:
            print("你输入了一个奇数")
    while True:
        nums = input("请输入一个字符整型数字:")
        for i in nums:
            if i not in  check_nums:
                print("你输入的字符错误,需重新输入")
                break
        else:
            check_num(int(nums))
            break
    
    运行结果:

    请输入一个字符整型数字:123
    你输入了一个奇数

    请输入一个字符整型数字:234
    你输入了一个偶数

    6.写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。

    程序代码:
    list_str = [1,23,45,65,32,232]
    def check_len(list_str):
        num_len = len(list_str)
        if num_len > 2:
            list_str = list_str[:2]
        return list_str
    print(check_len(list_str))
    
    运行结果:

    [1, 23]

    7.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。

    程序代码:
    list1 = []
    while True:
        str_in = input("请输入你要输入的信息(按q退出):")
        if str_in == 'q':
            break
        list1.append(str_in)
    def func_write(list1):
        list2 = []
        list1_len = len(list1)
        for i in range(list1_len):
            if i%2!=0:
                list2.append(list1[i])
        return list2
    # 打印结果
    print(func_write(list1))
    
    运行结果:

    请输入你要输入的信息(按q退出):123
    请输入你要输入的信息(按q退出):124
    请输入你要输入的信息(按q退出):235
    请输入你要输入的信息(按q退出):q
    ['124']

    8.定义一个函数,只要传入 "k1:v1,...,kn:vn" 这样固定格式的字符串,都可以将其转换为 {'k1':'v1',...,'kn':'vn'}这样的字典并返回

    程序代码:
    list_str = []
    while True:
        str_in = input("请输入(k1:v1,...,kn:vn)这样格式的字符串,按q退出输入:")
        if str_in =='q':
            break
        str_split = str_in.split(',')
        for i in str_split:
            if ':' in i :
                list_str.append(i)
            else:
                print("你输入的字符不符合要求需重新输入")
                break
    # 定义方法体 对传入的数据进行拆分放入字典中
    def func_dict(list_str):
        dict_str = {}
        for i in list_str:
            str_zz = str(i)
            dict_zh = str_zz.split(':')
            dict_str[dict_zh[0]] = dict_zh[1]
        return dict_str
    # 输出字典中的内容
    print(func_dict(list_str))
    
    运行结果:

    请输入(k1:v1,...,kn:vn)这样格式的字符串,按q退出输入:name:forever,age:18,height:180,weight:140
    请输入(k1:v1,...,kn:vn)这样格式的字符串,按q退出输入:q
    {'name': 'forever', 'age': '18', 'height': '180', 'weight': '140'}

    9.简单购物车,要求如下 (可以用函数也可以不用)

    实现打印商品详细信息,用户输入商品名和购买个数,则将商品名,价格,购买个数加入购物列表,如果输入为空或其他非法输入则要求用户重新输入,购买成功后打印添加到购物车里的信息.

    msg_dic={
    'apple':10,
    'tesla':100000,
    'mac':3000,
    'lenovo':30000,
    'chicken':10,
    }

    程序代码:
    # 已经有的商品字典
    msg_dic={
    'apple':10,
    'tesla':100000,
    'mac':3000,
    'lenovo':30000,
    'chicken':10
    }
    ## 定义一个购物车列表,用来存储 买下来商品的信息
    list_shop_car = []
    
    ## 定义购物车函数
    def func_shop_car(name,num):
        # 定义一个单个商品元组comm,用来放一次下单的信息
        comm = (name,msg_dic[name],num)
        
        list_shop_car.append(comm)
        return list_shop_car
    
    ### 程序的主体(输入商品名和购买数量)
    check_nums = ['1','2','3','4','5','6','7','8','9','0']
    while True:
        name = input("请输入要购买的商品名(输入q退出购物系统):")
        if name == 'q':
            break
        if name not in msg_dic.keys():
            print("你输入的商品名不在商品库中,需重新输入")
            continue
        num = input("请输入购买的数量:")
        for i in num:
            if i not in check_nums or num=='0' or num[0]=='0':
                print("你输入的商品数量有误,需重新输入")
                break
        print(func_shop_car(name,num))
    
    
    运行结果:

    请输入要购买的商品名(输入q退出购物系统):apple
    请输入购买的数量:4
    [('apple', 10, '4')]
    请输入要购买的商品名(输入q退出购物系统):mac
    请输入购买的数量:10
    [('apple', 10, '4'), ('mac', 3000, '10')]
    请输入要购买的商品名(输入q退出购物系统):q

  • 相关阅读:
    【翻译】在Sencha应用程序中使用插件和混入
    Codeforces Round #306 (Div. 2) A
    自己定义控件-仿iphone之ToggleButton&VoiceSeekBar
    .m文件导入C++头文件带来的错误
    Permutations
    ceph命令拷屏
    Azure 3 月新公布
    Azure 本月最新活动,速度Mark!
    直接刷脸?一元就能搞定会议签到!
    Azure SQL的DTU和eDTU到底是个什么鬼
  • 原文地址:https://www.cnblogs.com/foreversun92/p/11215222.html
Copyright © 2020-2023  润新知