字典的使用习题练习

匿名 (未验证) 提交于 2019-12-02 23:49:02
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) 
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!