• 字典的使用习题练习


    预科班day06作业

    1.定义一个函数,该函数可以实现在内部输入一个信息,如何该信息不能转换为正整数,则重新输入,直到能转换为正整数,则对外返回转换的正整数
    代码:
    def intnum():
        while True:
            num = input('请输入一个信息')
            if num[0] == '-' or num.isdigit() or num.count('.')==1 and num.replace(".", '').isdigit():
                if eval(num)>0:
                    return round(eval(num),0)
                if eval(num)<0:
                    return abs(round(eval(num),0))
    print(intnum())
    2.定义一个函数,该函数可以实现在内部输入一个信息,如何该信息不能转换为负整数,则重新输入,直到能转换为负整数,则对外返回转换的负整数
    代码:
    def fintnum():
        while True:
            num = input('请输入一个信息')
            if num[0] == '-' or num.isdigit() or num.count('.') == 1 and num.replace(".", '').isdigit():
                if eval(num) > 0:
                    return 0-round(eval(num), 0)
                if eval(num) < 0:
                    return round(eval(num), 0)
    print(fintnum())
    
    3.定义一个函数,实现外界传入一个信息,内部判断是否能被转换为正整数,返回True | Flase信息
    代码:
    def testfint(num):
        num = str(num)
        if num[0] == '-' or num.isdigit() or num.count('.') == 1 and num.replace(".", '').isdigit():
            return True
        else:
            return False
    print(testfint(-36))
    print(testfint('fas1.3'))
    print(testfint('2313'))
    
    4.定义一个函数,实现外界传入一个信息,内部判断是否能被转换为负整数,返回True | Flase信息
    代码:
    def testfint(num):
        num = str(num)
        if num[0] == '-' or num.isdigit() or num.count('.') == 1 and num.replace(".", '').isdigit():
            return True
        else:
            return False
    print(testfint('-1213'))
    print(testfint('fasf1.3'))
    5.定义一个函数,实现传入一个整型数字,判断并直接打印该数字是否是奇数还是偶数
    代码:
    def printnum(num):
        num = str(num)
        if num[0] == '-' or num.isdigit() or num.count('.') == 1 and num.replace(".", '').isdigit():
            if eval(num)%2==0:
                print('该数是偶数!')
            elif eval(num)%2==1:
                print('该数是奇数!')
            else:
                print('该数既不是偶数也不是奇数!')
    printnum(-99)
    6.写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
    代码:
    def listtwo(list):
        if len(list)>2:
            return list[:2]
        else:
            return list
    list = ['asf','afasf','asfsdafd']
    print(listtwo(list))
    
    7.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
    代码:
    def oddnum(list1):
        a = list(list1)
        i=0
        list2 = []
        while i < len(a):
            if (i+1)%2 == 1 :
                list2.append(list1[i])
            i+=1
        return list2
    a = ['fas',131,'fa','ag',13,'46as']
    print(oddnum(a))
    
    8.定义一个函数,只要传入 "k1:v1,...,kn:vn" 这样固定格式的字符串,都可以将其转换为 {'k1':'v1',...,'kn':'vn'}这样的字典并返回
    def return_dirc(str):
        list1 = str.split(',')
        dirc = {}
        for i in range(len(list1)):
            split = list1[i].split(':')
            dirc[split[0]] = split[1]
        return dirc
    print(return_dirc('k:21,l:1231:564f,56:fsdf'))
    
    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 = []
    while True:
        value = msg_dic.values()
        for i in msg_dic:
            print(f'name:{i} price:{msg_dic[i]}')
        name = input('商品:>>')
        sum = input('购买个数:>>')
        if name in msg_dic and sum.isdigit():
            list.append((name,msg_dic[name],sum))
        else:
            continue
        print(list)
    
    
  • 相关阅读:
    6-ESP8266 SDK开发基础入门篇--操作系统入门使用
    5-ESP8266 SDK开发基础入门篇--了解一下操作系统
    【java规则引擎】基本语法和相关属性介绍
    【eclipse】 怎么解决java.lang.NoClassDefFoundError错误
    【java规则引擎】java规则引擎搭建开发环境
    【4】JDK和CGLIB生成动态代理类的区别
    【java规则引擎】一个基于drools规则引擎实现的数学计算例子
    【3】SpringMVC的Controller
    设计模式之禅之代理模式
    【java规则引擎】规则引擎RuleBase中利用观察者模式
  • 原文地址:https://www.cnblogs.com/cheng825/p/11215245.html
Copyright © 2020-2023  润新知