博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
开发基础(练习题)
阅读量:6947 次
发布时间:2019-06-27

本文共 8832 字,大约阅读时间需要 29 分钟。

一、基础语法练习题

 

#1li = ['jiu','lin','liang']print ("{0}{1}{2}{3}{4}".format(li[0],'_',li[1],'_',li[2]))#2li = ["alec", " aric", "Alex", "Tony", "rain"]for l in li :    if  l.strip().startswith("a") == True or l.strip().startswith("A") and   l.strip().endswith("c"):        print(l.strip())tu = ("alec", " aric", "Alex", "Tony", "rain")for l in tu :    if  l.strip().startswith("a") == True or l.strip().startswith("A") and   l.strip().endswith("c"):        print(l.strip())dic = {'k1': "alex", 'k2': ' aric', "k3": "Alex", "k4": "Tony"}for l in dic.values() :    if  l.strip().startswith("a") == True or l.strip().startswith("A") and   l.strip().endswith("c"):        print(l.strip())

#3

#3li = ['alex','eric','rain']print(len(li))li.append("seven")print(li)li.insert(0,"Tony")print(li)li[1] = "Kelly"print(li)li.pop(li.index("eric"))print(li)li_2 = li[1]li.pop(1)print(li_2,li)print(li)li.pop(3)print(li[3:])li.pop(2,4)print(li)print(li[::-1])for k in range(len(li)):    print(k)for k,y in enumerate(li):    print(k+100,y)

#4li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446]print(li[2][1][1])li[2][2] = 'ALL'print(li)

#5

#5tu = ('alex', 'eric', 'rain')print(len(tu))print(tu[2])print(tu[1],tu[2])for i in tu:    print(i)for i in range(len(tu)):    print(i)for k,y in enumerate(tu):    print(k+10,y)

#6tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])#1,只读列表,2,不能修改#不可以#k2是 字典,对应的值是列表可以被修改tu[1][2]["k2"].append("Seven") print(tu)#k3对应的值是元祖不能修改

#7dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}for k in dic.keys():    print(k)for v in dic.values():    print(v)for k,y in dic.items():    print(k,y)dic["k4"] = "v4"print(dic)dic['k1'] = 'alex'print(dic)dic['k3'].append(44)print(dic)dic["k3"].insert[0,18]print(dic)
#8s = 'alex'print(s.split())print(tuple(s))li = ['alex','seven']print(tuple(li))tu = ('alex','seven')print(list(tu))li = ['alex','seven']dic = {}for k,y in enumerate(li):    dic.setdefault((10-k),y )    print(dic)

#9s = [11,22,33,44,55,66,77,88,99,90]len(s)k1 = []k2 = []dic = {'k1':None,'k2':None}for k in range(len(s)):    print(s[k])    if s[k] > 66 :        k1.append(s[k])    elif s[k] <66 :        k2.append(s[k])dic['k1'] = k1dic['k2'] = k2print(dic)#10li = ["手机", "电脑", '鼠标垫', '游艇']shoplist = []for k,y in enumerate(li):    print(k,y)user = int(input("输入序号---"))print(li[user])user_1 = (input("添加的商品----"))(li.append(user_1))print(li)#11city = {"北京":{"朝阳":["大望路","国贸"],               "昌平":["沙河","昌平"]},        "河北":{"张家口":["沙城","宣化"],                "石家庄":["某某路","某某街"]}        }go = Truewhile go:    cc = []    dq = []    print("\33[31;1m一级列表\33[1m".center(40,"="))    for i,v in enumerate(city,1):        print(i,v)        cc.append(v)    print("\33[35;1m插入数据 i 退出按Q\33[1m")    u_c1 = str(input(">>>"))    if u_c1.isdigit():#进二级之前判断        u_c1 = int(u_c1)        if u_c1 >0 and u_c1 <=len(cc):            while go:                print("\33[32;1m二级列表\33[1m".center(40, "="))                for i1,v1 in enumerate(city[cc[u_c1-1]],1):                    print(i1,v1)                    dq.append(v1)                print("\33[35;1m退出按Q 返回 B\33[1m")                u_c2 = input(">>>")                if u_c2.isdigit():#进三级之前判断                    u_c2 = int(u_c2)                    if u_c2 >0 and u_c2<=len(dq):                        while go:                            print("\33[32;1m三级列表\33[1m".center(40, "="))                            for s in city[cc[u_c1-1]][dq[u_c2-1]]:                                print(s)                            print("\33[35;1m退出按Q 返回 B\33[1m")                            u_c3 = input(">>>")                            if u_c3 == "q" or u_c3 == "Q":                                go = False                                break                            if u_c3 == "b" or u_c3 =="B":                                del dq[:]                                break                            else:                                print("\33[31;1m输入不正确\33[1m")                    else:                        print("\33[31;1m输入超出范围!\33[1m")                elif u_c2 == "q" or u_c2 == "Q":                    go = False                    break                elif u_c2 == "b" or u_c2 == "B":                    del cc[:]                    del dq[:]                    break                else:                    print("\33[31;1m输入格式不对!\33[1m")    elif u_c1.isalpha():        if u_c1 == "q" or u_c1 == "Q":            break        elif u_c1 == "i" or u_c1 == "I":            print("\33[32;1m添加信息\33[1m".center(40,"="))            ct_name = input("省:")            if ct_name == "Q" or ct_name == "q":                break            else:                if city.get(ct_name,0) == 0:                    city[ct_name] = {}            dq_name = input("市:")            if dq_name == "Q" or dq_name == "q":                break            else:                if city[ct_name].get(dq_name,0) == 0:                    city[ct_name][dq_name]=[]            while True:                print("\33[31;1m循环添加,退出请按Q!\33[1m")                s = input("县:")                if s == "q" or s == "Q":                    break                else:                    city[ct_name][dq_name].append(s)        else:            print("\33[31;1m输入超出范围!\33[1m")    else:        print("\33[31;1m输入格式不对!\33[1m")

#12None ""  () []  {} 0 #13l1 = [11,22,33]l2 = [22,33,44]#都有的元素for i in l1:    if i in l2:        print(i)#l2没有的for i in l1:    if i not in l2:        print(i)#l1没有的for i in l2:    if i not in l1:        print(i)#互相都没有的元素for i in l1:    if i not in l2 :        print(i)for k in l2:    if k not in l1:        print(k)

#14

#14for i in range(100,0,-1):    print(i)for i in range(1,101):    print(i)count = 100while count >1 :    count -= 1    print(count)count = 0while count <100 :    count +=1    print(count)
#15for i in range(1,10):    for j in range(1,i+1):        print(str(i) + "*" + str(j) + "=" + str(i * j), end=' ')    print()

 

 
 

二、购物车程序

需求:

  • 启动程序后,让用户输入工资,然后打印商品列表
  • 允许用户根据商品编码购买商品
  • 用户选择商品后检测余额是否够,够就直接扣款,不够就提醒
  • 用户可以一直购买商品,也可以随时退出,退出时,打印已购买的商品和余额
shoplist = []commodity = [['iphonex',8888],['Book',99],['Macpro',7666],['小米6',3200]]long = len(commodity)wages = input("请输入你的工资--->")if wages.isdigit() ==True:    wages = int(wages)    print('你的工资是',wages,'元')    while True:        print('--------商品列表-------')        for y, p in enumerate(commodity):            print("{0}  {1} \t{2}".format(y, p[0], p[1], '元'))        need = input("请输入你需要购买的商品编号---->")        if need == 'q' or need == 'Q':            print('退出不买了')            print("-----你的购物车-----")            for y, p in enumerate(shoplist):                print(y, p[0], p[1])            # wages = wages - commodity[need][1]            print("你剩余", wages, "元")            break        elif need.isdigit() == True:            need = int(need)            if wages >= commodity[need][1]:                need = int(need)            elif wages < commodity[need][1]:                print("骚年去赚钱吧,你还剩", wages, "元了,还想买", commodity[need][0])                continue            if need >= 0 and need <= long:                print('你购买了', commodity[need])                shoplist.append(commodity[need])                print("-----你的购物车-----")                for y, p in enumerate(shoplist):                    print(y, p[0], p[1])                wages = wages - commodity[need][1]                print("你剩余", wages, "元")        else:            print("你输入的什么玩意,请输入数字")            continueelse:    print("你输入的什么玩意,让你输入数字")

三、多级菜单

需求:

  • 现有省市县三级结构,要求程序启动后,允许用户可依次选择进入各级子菜单,
  • 可在任意一级菜单返回上一级
  • 可以在任意一级菜单退出程序
menu = {    '河北':{        '承德':{            '双桥区':'贾营村'        }    },    '北京':{        '通州区':{            '东潞苑小区','我家'        }    }}while True:    print(menu.keys())    choice = input("请输入你要查看的省份---")    if menu.get(choice) != None:        sub = menu[choice]        #print(sub.keys())        while True:            print(sub.keys())            choice_sub = input("请输入你要查看的市,或者返回上一级请输入R")            if choice_sub == 'r' or choice_sub == 'R':                break            elif choice_sub == 'q' or choice == 'Q':                print("程序退出")                exit()            elif sub.get(choice_sub) != None:                print(sub[choice_sub])                sub_sub = input("是否返回上一层,R=返回,e=退出")                if sub_sub == 'r' or sub_sub == 'R':                    print('返回上一层')                else:                    print('退出')                    exit()    elif choice == 'q' or choice == 'Q':        print("程序退出")        exit()

 #三级菜单高效写法

level = menuL = []while True:    for k in level:        print(k)    user = input(">").strip()    if  not  level:continue    if user in  level:        L.append(level)        level = level[user]    elif user == 'b':        if len(L) != 0:            level = L.pop()        else:            print('到头了')

 

转载于:https://www.cnblogs.com/mjiu/p/8563471.html

你可能感兴趣的文章
java.lang.Long cannot be cast to java.lang.Integer解决办法
查看>>
设置datagridview中button按钮的背景颜色
查看>>
十大Intellij IDEA快捷键(转)
查看>>
Mysql - 解决Access denied for user ''@'localhost' to database 'mysql'问题
查看>>
JavaScript、CSS、JSP 实现用户注册页面与信息校验
查看>>
深入理解定位父级offsetParent及偏移大小
查看>>
使用PowerShell收集多台服务器的性能计数器
查看>>
jquery 中一些 特殊方法 的特殊使用 一览表
查看>>
yuv rgb 像素格式1
查看>>
通过PHP扩展phpredis操作redis
查看>>
如何在Swift里用UnsafeMutablePointer
查看>>
UML类图和时序图
查看>>
内存拷贝
查看>>
c_str()
查看>>
install ubuntu tweak on ubuntu lts 10.04,this software is created by zhouding
查看>>
Objective-C中一种消息处理方法performSelector: withObject:
查看>>
JSP实现分页显示
查看>>
关注HTML5安全
查看>>
ios中Pldatabase的用法(4)
查看>>
Leetcode: Search in Rotated Sorted Array
查看>>