python习题day5
1、输入多行字符串,每一行<1000,如果是双对称字符串,即AABBCC,变成单对称输出ABC,如果不是,输出False
def double(s): if len(s)%2 != 0: return False else: return True def aba(s): for i in range(len(s)): if s[i] != s[i+1]: return False else: return True def double_aba(s): l = '' for i in range(len(s)): if i%2 != 1: l += s[i] return l while True: try: s = input() if double(s) and aba(s): print(double_aba(s)) else: print('false') except: break
2.如果有以下变量(tu是一个元祖)
tu = ('alex',[11,22,{'k1':'v1','k2':['age','name'],'K3':(11,22,33)},44])
'k2'对应的值是列表,可被修改,请在其中添加元素'seven'
tu[1][2]['k2'].append('seven') print(tu)
3.请对dic = {'k1':'V1','K2':'V2','k3':[11,22,33]},进行以下操作
dic = {'k1':'V1','K2':'V2','k3':[11,22,33]} #请循环输出所有的key l =[] l = dic.keys() for i in l: print(i) #请循环输出所有的value l1 = [] l1 = dic.values() for i in l1: print(i) #请循环输出所有的key 和 value a = list(dic.items()) for i in a: print(i[0]) print(i[1]) #请在字典中添加一个键值对,'k4':'V4',输出添加后的字典 dic['K4'] = 'V4' print(dic) #请修改字典中 ''对应的值为'alex',输出修改后的字典 dic['k1'] = 'alex' print(dic) #请在对应的值中增加一个元素44,输出修改后的字典 dic['k3'].append(44) print(dic) #请在k3 对应的值的第一个位置插入元素18,输出修改后的字典 dic['k3'].insert(0,18) print(dic)
4.元素分类,有如下值li= [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
即: {'k1': 大于66的所有值列表, 'k2': 小于66的所有值列表}
li= [11,22,33,44,55,66,77,88,99,90] dic = {} lmin = [] lmax = [] for i in li: if i == 66:continue if i < 66: lmin.append(i) if i > 66: lmax.append(i) dic.setdefault('k1') = lmin dic.setdefault('k2') = lmax print(dic)
5.输出商品列表,用户输入序号,显示用户选中的商品,商品 li = ["手机", "电脑", '鼠标垫', '游艇']
要求:1:页面显示 序号 + 商品名称,如:
1 手机
2 电脑
…
2: 用户输入选择的商品序号,然后打印商品名称
3:如果用户输入的商品序号有误,则提示输入有误,并重新输入。
4:用户输入Q或者q,退出程序
li = ["手机", "电脑", '鼠标垫', '游艇'] for i in li: print(li.index(i)+1,i) dic = {} for i in range(len(li)): dic[str(i+1)] = li[i] pd = True while pd: s = input() if s.upper() == 'Q': pd = False print('程序终止') else: print(dic.get(s,'输入有误,并重新输入'))
for i in li: print(li.index(i)+1,i) s = len(li) M = True while M: num = input('请输入序号>>>') if num.upper() == 'Q': print('您已结束选择') break M = False elif num.isdigit() and 0 < int(num) < s+1: print(li[int(num) - 1]) else: print('输入有误,请重新输入')