美文网首页Python面试题
Python面试题-数据类型(3)

Python面试题-数据类型(3)

作者: 复苏的兵马俑 | 来源:发表于2020-01-24 10:07 被阅读0次

    11、使用range打印100,99,98,……,1,0。

    # 方法一:
    for i in range(0, 101):
        print(100 - i)
    
    # 运行结果:
    100
    99
    98
    97
    96
    95
    ……
    5
    4
    3
    2
    1
    0
    
    # 方法二:
    for i in range(100, -1, -1):
        print(i)
    
    # 运行结果:
    100
    99
    98
    97
    96
    95
    ……
    5
    4
    3
    2
    1
    0
    

    12、计算用户输入内容中索引为奇数并且对应的元素为数字的个数(没有则个数为零)。

    user_input = input('>>>')
    lis = list(user_input)
    count = 0
    for i in range(len(lis)):
        if i % 2 != 0 and lis[i].isdigit():
            count += 1
        else:
            continue
    print('count = {}'.format(count))
    

    13、补充代码(从已有的代码下面继续写):

    有如下值 li = [11,22,33,44,55,77,88,99,90],将所有大于66的值保存至字典的第一个key中,将小于66的值保存至第二个key的值中。
    li = [11,22,33,44,55,77,88,99,90]
    result = {}
    for row in li:
    ……

    # 方法一:
    li = [11, 22, 33, 44, 55, 77, 88, 99, 90]
    result = {}
    for row in li:
        if row > 66:
            if 'Key1' not in result:
                result['Key1'] = []
            result['Key1'].append(row)
        else:
            if 'Key2' not in result:
                result['Key2'] = []
            result['Key2'].append(row)
    print(result)
    
    # 运行结果:
    {'Key2': [11, 22, 33, 44, 55], 'Key1': [77, 88, 99, 90]}
    
    # 方法二:
    li = [11, 22, 33, 44, 55, 77, 88, 99, 90]
    result = {}
    for row in li:
        result.setdefault('Key1', [])
        result.setdefault('Key2', [])
        if row > 66:
            result['Key1'].append(row)
        else:
            result['Key2'].append(row)
    print(result)
    
    # 运行结果:
    {'Key1': [77, 88, 99, 90], 'Key2': [11, 22, 33, 44, 55]}
    

    14、查找列表 li 中的元素,移除每个元素的空格,并找出以‘A’或者‘a’开头,并以‘c’结尾的所有元素,并添加到一个新列表中,最后循环打印这个新列表。

    li = ['taibai ','alexC','AbC ','egon',' Ritian',' Wusir',' aqc']

    li = ['taibai ', 'alexC', 'AbC ', 'egon', ' Ritian', ' Wusir', '   aqc']
    New_li = []
    for s in li:
        if tuple(s.strip())[0].upper() == 'A' and tuple(s.strip())[-1] == 'c':
            New_li.append(s.strip())
    print(New_li)
    
    # 运行结果:
    ['aqc']
    

    15、实现一个整数加法计算器:

    如: content = input('请输入内容:') # 如用户输入:5 + 8 + 7……(最少输入两个数相加),然后进行分割再进行计算,将最后的计算结果添加到此字典中(替换None):
    dic = {'最终计算结果':None}

    sum = 0
    lis = []
    flag = 1
    while flag:
        content = input('请输入计算式(如:5+8+7):').strip()
        lis = list(content)
        if len(content.split('+')) < 2:
            print('你输入的格式不正确(应该输入至少两个数的加法算式),请重新输入!')
        else if lis[-1] == '+':
            print('你输入的格式不正确(计算式不能以‘+’结尾),请重新输入!')
        else:
        for i in lis:
            if i.isdigit() or i == '+':
                flag = 0
                continue
            else:
                print('你输入的格式不正确(只能输入整数和‘+’),请重新输入!')
                flag = 1
                break
    lis = content.split('+')
    for i in lis:
        sum += int(i)
    dic = {'最终计算结果': sum}
    print('dic = {}'.format(dic))
    

    16、写程序:模拟公司HR录入员工账号密码的程序。

    1)员工的账号密码存储在这种数据类型中:
    user_list = [
    {'username':'barry','password':'1234'},
    {'username':'alex','password':'asdf'}
    ……
    ]
    2)非法字符模板:board = ['张三','李小四','王二麻子']
    3)HR输入用户名、密码(可持续输入,如果想终止程序,那就在输入用户名时输入Q或q退出程序break),在HR输入用户名时,检测此用户名是否有board里面的非法字符,如果有非法字符,则将非法字符替换成同数量的*(如王二麻子替换成****),然后添加到user_list中,如果没有非法字符,则直接添加到user_list中,每次添加成功后,打印出刚添加的用户名、密码。

    board = ['张三', '李小四', '王二麻子']
    user_dict = {}
    user_list = []
    while 1:
        username = input('请输入用户名:')
        if username.upper() == 'Q':
            break
        else:
            password = input('请输入密码:')
            for s in board:
                if s in username:
                    username = username.replace(s, '*' * len(s))
                else:
                    continue
            user_dict['username'] = username
            user_dict['password'] = password
            user_list.append(user_dict)
            user_dict = {}
        print('恭喜你,用户{0}添加成功,用户名 = {0},密码 = {1}'.format(username, password))
    print('所有用户列表如下:')
    for dic in user_list:
        print('用户名 = {},密码 = {}'.format(dic['username'], dic['password']))
    

    相关文章

      网友评论

        本文标题:Python面试题-数据类型(3)

        本文链接:https://www.haomeiwen.com/subject/rsnkzctx.html