zoukankan      html  css  js  c++  java
  • 基础数据类型上机题

    机试题

    1. lis = [['哇',['how',{'good':['cd',1000,'99']},'大帅哥'],'I']] (总分2分)

      • 列表lis中的'cd'全部变成大写。(1分)

      • 列表中的1000通过数字相加在转换成字符串的方式变成'10086'。(1分)

        lis = [['哇',['how',{'good':['cd',1000,'99']},'大帅哥'],'I']]
        lis[0][1][1]["good"][0] =lis[0][1][1]["good"][0].upper()
        print(lis)
        lis[0][1][1]["good"][1] = str(lis[0][1][1]["good"][1]+9086)
        print(lis)
        
    2. dic = {'k1':'v1','k2':['alex','sb'],(1,2,3,):{'k3':['2',100,'wer']}} (总3分)

      • 将'k3'对应的值的最后面添加一个元素(1,2,3)。(1分)

      • 将'k2'对应的值的第2个位置前插入元素{'a'}。(1分)

      • 将(1,2,3,)对应的值添加一个键值对key:(1,)。(1分)

        dic = {'k1':'v1','k2':['alex','sb'],(1,2,3,):{'k3':['2',100,'wer']}}
        dic[(1,2,3)]["k3"].append((1,2,3))
        dic["k2"].insert(1,{"a"})
        dic[(1,2,3)].update({"key":(1,)})
        print(dic)
        
    3. 敲七游戏. 从1开始数数. 遇到7或者7的倍数包(含17,27,这种数)要在桌上敲⼀下. 编程来完成敲七. 给出⼀个任意的数字n. 从1开始数. 数到n结束. 把每个数字都放在列表中, 在数的过程中出现7或 者7的倍数(包含17,27,这种数).则向列表中添加⼀个'咣' 例如, 输⼊20.

      lst = [1, 2, 3, 4, 5, 6, '咣', 8, 9, 10,11,12,13,'咣',15,16,'咣',18,19,20]
      
    while True:
        s  = input("请输入一个正整数:")
        if s.isdecimal() and int(s)>0:
            lst = []
            for i in range(1,int(s)+1):
                if i % 7 == 0 or "7" in str(i):
                    lst.append("咣")
                else:
                    lst.append(i)
            print(lst)
            break
        else:
            print("你输入的格式有误,请重新输入!")
    
    1. 完成36选7的操作, 1- 50之间随机产生36个数,从这36个数中选择7个不重复的数添加到列表中(5分)
    from random import randint 
    print(randint(1,20)) # 从1到20之间随机产生1个整数
    
    from random import randint
    lst = []
    for i in range(36):
        lst.append(randint(1, 50))
    lst = list(set(lst))[:7]
    print(lst)
    
    1. 有文件t1.txt里面的内容为:(5分)
    1,alex,22,13651054608,IT
    2,wusir,23,13304320533,Tearcher
    3,taibai,18,1333235322,IT
    
    利用文件操作,将其构造成如下数据类型。
    [{'id':'1','name':'alex','age':'22','phone':'13651054608','job':'IT',{'id':'2','name':'wusir','age':'23','phone':'13304320533','job':'Tearcher'},{'id':'3','name':'taibai','age':'18','phone':'1333235322','job':'IT'}]
    
    with open("t1.txt","r",encoding="utf-8") as f:
        lst = f.readlines()
    lst_job = []
    for i in lst:
        lst1 = i.strip().split(",")
        dic = {"id":lst1[0],"name":lst1[1],"age":lst1[2],"phone":lst1[3],"job":lst1[4]}
        lst_job.append(dic)
    print(lst_job)
    
    1. 有如下车牌和车辆归属地,形成一个新的字典,显示每个归属地的车辆共有多少:(8分)
    cars = ['鲁A32444','鲁A12333','湘B8989M','⿊A49678','⿊B46555','沪B25044','冀A11111',"京A01101"]
    locals = {'冀':{"A":"石家庄","B":"唐山"},
              '⿊':{"A":"哈尔滨","B":"齐齐哈尔"},
              '鲁':{"A":"济南","B":"青岛"},
              '鄂':{"A":"武汉","B":"黄石"},
              '湘':{"A":"长沙","B":"株洲"},
              }
    
    结果: {'济南':2, '株洲': 1, '哈尔滨': 1,'齐齐哈尔':1,'石家庄':1}
    
    cars = ['鲁A32444','鲁A12333','湘B8989M','⿊A49678','⿊B46555','沪B25044','冀A11111',"京A01101"]
    locals = {'冀':{"A":"石家庄","B":"唐山"},
              '⿊':{"A":"哈尔滨","B":"齐齐哈尔"},
              '鲁':{"A":"济南","B":"青岛"},
              '鄂':{"A":"武汉","B":"黄石"},
              '湘':{"A":"长沙","B":"株洲"},
              }
    
    dic ={}
    for i in cars:
        if i[0] in locals:
            dic[locals[i[0]][i[1]]] = dic.get(locals[i[0]][i[1]],0)+1
    print(dic)
    
    1. 有如下值li 将所有的数字保存至字典的第一个key中,将所有的字符串保存至第二个key的值中(4分)
    li= ["a","b",11,22,33,44,55,"66",["alex","baoyuan","taibai"],"77","88","99"]
    
    li = ["a","b",11,22,33,44,55,"66",["alex","baoyuan","taibai"],"77","88","99"]
    dic = {"key1":[],"key2":[]}
    for i in li:
        if type(i) ==list:
            for j in i:
                if type(j) == int:
                    dic["key1"].append(j)
                else:
                    dic["key2"].append(j)
        elif type(i) == int:
            dic["key1"].append(i)
        else:
            dic["key2"].append(i)
    print(dic)
    
    1. userinfo.txt 文件中存放以下结构:(总分8分)
    alex:alex3714
    wusir:123456
    meet:meet123
    

    1.让用户选择:

    1.注册
    2.登录
    

    2.用户选择注册就将账号和密码添加到userinfo.txt中,如果用户名存在就提示用户名存在,不存在就进行添加(2分)

    3.用户选择登录,就验证用户的账号和密码是否与userinfo.txt一致,如果一致终止循环提示登录成功(3分)

    4.让用户登录三次,三次错误将用户进行锁定提示用户名已锁定,并打印错误次数(使用字符串格式化)(3分)

    with open("userinfo.txt ","r",encoding="utf-8")as f1:
        lst = f1.readlines()
    
    dic = {}
    for i in lst:
    
        k,v = i.strip().split(":")
        dic[k]=v
    while True:
        chose = input("请输入你的选择(1.注册 2.登录)\n>>>")
        if chose == "1":
            name = input("请输入用户名:")
            psd = input("请输入密码:")
            psd1 = input("请再次输入密码:")
            if name in dic:
                print("用户名已存在,注册失败!")
                continue
            elif psd != psd1:
                print("两次密码输入不一致,请重新注册!")
            else:
                dic[name] = psd
                print("注册成功!")
                with open("userinfo.txt","a",encoding="utf-8")as f2:
                    f2.write(f"\n{name}:{psd}")
                break
        elif chose == "2":
            count = 3
            while count :
                count -=1
                name2 = input("请输入用户名:")
                psd2 = input("请输入密码:")
                if name2 in dic :
                    if psd2 == dic[name2]:
                        print("登陆成功!")
                        break
                    else:
                        print("密码错误!")
                        if count:
                            print(f"你还有{count}次机会")
                        else:
                            print("此用户名已锁定!")
                else:
                    print("账号不存在!")
                    if count:
                        print(f"你还有{count}次机会")
                    else:
                        print("此用户名已锁定!")
            break
        else :
            print("请输入正确的选择")
    
  • 相关阅读:
    Improving the Safety, Scalability, and Efficiency of Network Function State Transfers
    MacOS下安装BeautifulSoup库及使用
    python爬虫调用搜索引擎及图片爬取实战
    2018软工项目UML设计(团队)
    【计算几何】如何计算两个圆的交点坐标
    【POJ 】POJ 3281. Dining
    【POJ 3233】矩阵多项式和
    【Effective C++】Effective C++笔记
    【图形学】图形学的23个基础问题
    【Google Code Jam】Millionaire
  • 原文地址:https://www.cnblogs.com/ciquankun/p/11197576.html
Copyright © 2011-2022 走看看