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('输入有误,请重新输入')

 

 
posted @ 2021-02-28 00:42  暴躁的产品  阅读(90)  评论(0)    收藏  举报