• 周末练习(一)


    #2、3、4、9、13、27不用做
    
    # 1、执行 Python 脚本的两种方式
        # 使用python解释器(python aa.py)或在unix系统下赋值成777,执行(./aa.py)
    
    # 5、 Pyhton 单行注释和多行注释分别用什么?
        #单行注释使用#号
        #多行注释使用三个单引号,,需要注释的内容包含在引号内
    
    # 6、声明变量注意事项有那些?
        #1、变量名不能为数字开头;
        # 2、不能以python关键字作为变量;
        # 3、只能是字母、数字、下划线的任意组合。
    
    # 8、如何查看变量在内存中的地址?
        #id(变量名)
    
    # 10、写代码
    # a.实现用户输入用户名和密码,当用户名为 seven     且 密码为 123     时,显示登陆成功,否则登陆失败!
        #name = input('pelease input your name:")
        #password = input('please inout your password:')
        #if name == 'seven' and password == '123':
            #print('login successfull!')
    
    # b.实现用户输入用户名和密码,当用户名为 seven     且 密码为 123     时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
        # count = True
        # while count<=3:
        #     name = input('pelease input your name:')
        #     password = input('please inout your password:')
        #     if name == 'seven' and password == '123':
        #         print('login successfull!')
        #     else:
        #         print('login erro')
        #         count += 1
    
    # c.实现用户输入用户名和密码,当用户名为 seven     或 alex     且 密码为 123     时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
        # count = True
        # while count<=3:
        #     name = input('pelease input your name:')
        #     password = input('please inout your password:')
        #     if name == 'seven'or name == 'alex' and password == '123':
        #         print('login successfull!')
        #     else:
        #         print('login erro')
        #         count += 1
    
    # 11、写代码
    # a.     使用 while 循环实现输出 2    - 3    +    4    - 5    +    6    ...    +    100     的和
        # count = 1
        # sum1 = 0
        # sum2 = 0
        # while count <= 100:
        #     if count % 2 == 0:
        #         sum1 += count
        #     elif count % 2 == 1:
        #         sum2 += count
        #     count += 1
        # print(sum1 - sum2)
        #输出结果50
    
    # b.     使用 for 循环和 range 实现输出 1    - 2    +    3    - 4    +    5    - 6    ...    +    99     的和
        # num = 0
        # for i in range(99):
        #     if i % 2 == 0:
        #         num = num - i
        #     else:
        #         num = num + i
        # print(num)
        #输出结果-49
    
    # c.     使用 while 循环实现输出 1, 2, 3, 4, 5, 7, 8, 9, 11, 12
        # count = 0
        # while count<13:
        #     count += 1
        #     if count == 6 or count == 10:continue
        #     else:
        #         print(count)
    
    # d.     使用 while 循环实现输出 1-100     内的所有奇数
        # count = 1
        # while count<=100:
        #     if count % 2 >= 1:
        #         print(count)
        #     count += 1
    
    # e.     使用 while 循环实现输出 1-100     内的所有偶数
        # count = 1
        # while count<=100:
        #     if count % 2 == 0:
        #         print(count)
        #     count += 1
    
    # 12、分别书写数字# 5, 10, 32, 7# 的二进制表示
        # 101 1010 100000 111
    
    # 14、现有如下两个变量,请简述#n1和n2 是什么关系?
        # n1 = 123
        # n2 = 123
        # n1和n2指向同一块内存地址,数值是123
    
    # 15、现有如下两个变量,请简述n1和n2是什么关系?
        # n1 = 123456
        # n2 = 123456
        #开辟了2个内存地址存放数据123456,并分别起了个名称为n1和n2.
    
    # 16、现有如下两个变量,请简述n1和n2是什么关系?
        # n1 = 123456
        # n2 = n1
        # 开辟了2个内存地址存放数据123456,并分别起了个名称为n1和n2.
    
    # 17、如有以下变量n1 = 5,请使用int的提供的方法,得到该变量最少可以用多少个二进制位表示?
        #print(int(5).bit_length()); #( bit_length返回该数字占用的最少位数)
        #输出结果3
    
    # 18、布尔值分别有什么?
    # True 和 False
    
    # 19、阅读代码,请写出执行结果
        # a = "alex"
        # b = a.capitalize()        #将首字母大写
        # print(a)
        # print(b)
        #执行结果如下
        #alex
        #Alex
    
    # 请写出输出结果:
    # 20、写代码,有如下变量,请按照要求实现每个功能
    # name = "    aleX"
    
    # a.    移除 name 变量对应的值两边的空格,并输入移除有的内容
        # name = ' aleX'
        # print(name.strip())
    
    # b.     判断 name 变量对应的值是否以 "al"     开头,并输出结果
        # name = ' aleX'
        # print(name.startswith("al"))
        # 执行结果
        # False
    
    # c.     判断 name 变量对应的值是否以 "X"     结尾,并输出结果
        # name = ' aleX'
        # print(name.endswith('X'))
        # 执行结果True
    
    # d.     将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
        # name = ' aleX'
        # print(name.replace("l","p"))
        # #执行结果
        # apeX
    
    # e.     将 name 变量对应的值根据 “l” 分割,并输出结果。
        # name = ' aleX'
        # print(name.split('l'))
    
    # f.     请问,上一题 e     分割之后得到值是什么类型?
        #分割后得到一个列表
    
    # g.     将 name 变量对应的值变大写,并输出结果
        # name = 'aleX'
        # print(name.upper())
    
    # h.     将 name 变量对应的值变小写,并输出结果
        # name = 'aleX'
        # print(name.lower())
    
    # i.     请输出 name 变量对应的值的第 2 个字符?
        # name = 'aleX'
        # print(name[1])
    
    # j.     请输出 name 变量对应的值的前 3 个字符?
        # name = 'aleX'
        # print(name[0:3])
    
    # k.     请输出 name 变量对应的值的后 2 个字符?
        # name = 'aleX'
        # print(name[-2:])
    
    # l.     请输出 name 变量对应的值中 “e” 所在索引位置?
        # name ='aleX'
        # print(name.index('e'))
    
    # 21、字符串是否可迭代?如可以请使用 for 循环每一个元素?
        # name = " aleX"
        # for i in name:
        #     print(i)
    
    # 22、请用代码实现:利用下划线将列表的每一个元素拼接成字符串, li     = ['alex',    'eric',    'rain']
        # li = ["alex","eric","rain"]
        # for i in li:
        #     print("_".join(i))
        #输出结果
        # a_l_e_x
        # e_r_i_c
        # r_a_i_n
    
    # 22、写代码,有如下列表,按照要求实现每一个功能
    # li     = ['alex',    'eric',    'rain']
    # a.     计算列表长度并输出
        # li = ['alex',    'eric',    'rain']
        # print(len(li))
        # 执行结果3
    # b.     列表中追加元素 “seven”,并输出添加后的列表
        # li = ['alex',    'eric',    'rain']
        # li.append("seven")
        # print(li)
        # 执行结果
        # ['alex', 'eric', 'rain', 'seven']
    
    # c.     请在列表的第 1     个位置插入元素 “Tony”,并输出添加后的列表
        # li = ['alex',    'eric',    'rain']
        # li.insert(0,'Tony')
        # print(li)
        # 输出结果:['Tony', 'alex', 'eric', 'rain']
    
    # d.     请修改列表第 2     个位置的元素为 “Kelly”,并输出修改后的列表
        # li = ['alex',    'eric','rain']
        # li[1] = 'Kelly'
        # print(li)
        # 输出结果:['alex', 'Kelly', 'rain']
    
    # e.     请删除列表中的元素 “eric”,并输出修改后的列表
        # li = ['alex','eric','rain']
        # li.remove('eric')
        # print(li)
        #输出结果['alex', 'rain']
    
    # f.     请删除列表中的第 2     个元素,并输出删除的元素的值和删除元素后的列表
        # li = ['alex', 'eric', 'rain']
        # print(li.pop(2))
        # print(li)
        # 输出结果:
        # rain
        # ['alex', 'eric']
    
    # g.     请删除列表中的第 3     个元素,并输出删除元素后的列表
        # li = ['alex', 'eric', 'rain','egon','amy']
        # print(li.pop(3))
        # print(li)
        # 输出结果:
        # egon
        # ['alex', 'eric', 'rain', 'amy']
    
    # h.     请删除列表中的第 2 至 4 个元素,并输出删除元素后的列表
        # li = ['alex', 'eric', 'rain','egon','amy']
        # del li[2:4]
        # print(li)
        #输出结果:['alex', 'eric', 'amy']
    
    # i.     请将列表所有的元素反转,并输出反转后的列表
        # li = ['alex', 'eric', 'rain','egon','amy']
        # li.reverse()
        # print(li)
        # # 输出结果:['amy', 'egon', 'rain', 'eric', 'alex']
    
    #j.     请使用 for、 len、 range 输出列表的索引
        # li = ["alex","eric","rain"]
        # for index in range(len(li)):
        #     print(index,li[index])
        # 输出结果
        # 0 alex
        # 1 eric
        # 2 rain
    
    # k.    请使用 enumrate 输出列表元素和序号(序号从 100 开始)
        # li = ["alex","eric","rain"]
        # for index,value in enumerate(li,100):
        #     print(index,value)
        #输出结果:
        # 100 alex
        # 101 eric
        # 102 rain
    # l.     请使用 for 循环输出列表的所有元素
        # li = ["alex","eric","rain"]
        # for i in li:
        #     for item in i:
        #         print(item)
        # 输出结果:
        # a
        # l
        # e
        # x
        # e
        # r
        # i
        # c
        # r
        # a
        # i
        # n
    
    # 23、写代码,有如下列表,请按照功能要求实现每一个功能
    # li    =    ["hello",    'seven',    ["mon",    ["h",    "kelly"],    'all'],    123,    446]
    # a.     请输出 “Kelly”
        # li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446]
        # print(li[2][1][1])
        # 输出结果kelly
    
    # b.     请使用索引找到 'all'     元素并将其修改为 “ALL”
        # li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446]
        # print((li[2][2]).upper())
        #输出结果ALL
    
    # 24、写代码,有如下元组,按照要求实现每一个功能tu=('alex','eric','rain')
    # a.     计算元组长度并输出
        # tu=('alex','eric','rain')
        # print(len(tu))
        # 输出结果:3
    
    # b.     获取元组的第 2     个元素,并输出
        # tu=('alex','eric','rain')
        # print(tu[1])
        #输出结果eric
    
    # c.     获取元组的第 1- 2个元素,并输出d.    请使用 for 输出元组的元素
        # tu=('alex','eric','rain')
        # print(tu[:2])
        # 输出结果:('alex', 'eric')
    
    # e.     请使用 for、 len、 range 输出元组的索引
        # tu = ("alex","eric","rain")
        # for index in range(len(tu)):
        #     print(index,tu[index])
        # 输出结果
        # 0 alex
        # 1 eric
        # 2 rain
    
    
    # f.    请使用 enumrate 输出元祖元素和序号(序号从 10 开始)
        # tu = ("alex","eric","rain")
        # for index,values in enumerate(tu,10):
        #     print(index,values)
        # 输出结果
        # 0 alex
        # 1 eric
        # 2 rain
    
    # 25、有如下变量,请实现要求的功能
    # tu    =    ("alex",    [11,    22,    {"k1":    'v1',    "k2":    ["age",    "name"],    "k3":    (11 ,22 ,33)},    44])
    # a.     讲述元祖的特性
        #不可变类型,一旦一个对象被定义了,它的值就不能再被修改,如果包含可变的列表,字典等值,那这些值可以改变
    
    # b.     请问 tu 变量中的第一个元素 “alex” 是否可被修改?
        #不能被修改
    
    # c.     请问 tu变量中的"k2" 对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 “Seven”
        # k2对应的值是列表类型,可以被修改.
        # tu = ("alex",[11,22,{"k1":"v1","k2":["age","name"],"k3":(11,22,33)},44])
        # tu[1][2]["k2"].append("Seven")
        # print(tu)
        # 输出结果('alex', [11, 22, {'k1': 'v1', 'k2': ['age', 'name', 'Seven'], 'k3': (11, 22, 33)}, 44])
    
    # d.    请问 tu变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 “Seven”
        # k3对应的类型是元组,不能被修改
    
    # 26、字典
    # dic = {'k1': "v1", "k2": "v2", "k3": [11, 22, 33]}
    # a.    请循环输出所有的 key
        # dic = {'k1': "v1", "k2": "v2", "k3": [11, 22, 33]}
        # for keys in dic.keys():
        #     print(keys)
        # #输出结果 k1 k2 k3
    
    # b.     请循环输出所有的 value
        # dic = {'k1': "v1", "k2": "v2", "k3": [11, 22, 33]}
        # for values in dic.values():
        #     print(values)
        # # #输出结果 vi vw [11,22,33]
    
    #c.请循环输出所有的 key 和 value
        # dic = {'k1': "v1", "k2": "v2", "k3": [11, 22, 33]}
        # for k,v  in dic.items():
        #     print(k,v)
        #输出结果
        # k1
        # v1
        # k2
        # v2
        # k3[11, 22, 33]
    
    # d.     请在字典中添加一个键值对, "k4":    "v4",输出添加后的字典
        # dic = {'k1': "v1", "k2": "v2", "k3": [11, 22, 33]}
        # dic.setdefault("k4","v4")
        # print(dic)
        # # 执行结果
        # {'k2': 'v2', 'k3': [11, 22, 33], 'k1': 'v1', 'k4': 'v4'}
    
    # e.     请在修改字典中 “k1” 对应的值为 “alex”,输出修改后的字典
        # dic = {'k1': "v1", "k2": "v2", "k3": [11, 22, 33]}
        # dic["k1"] = "alex"
        # print(dic)
        # 执行结果{'k3': [11, 22, 33], 'k2': 'v2', 'k1': 'alex'}
    
    # f.     请在 k3 对应的值中追加一个元素 44,输出修改后的字典
        # dic = {'k1': "v1", "k2": "v2", "k3": [11, 22, 33]}
        # dic["k3"].append("44")
        # print(dic)
        # 执行结果
        # {'k3': [11, 22, 33, '44'], 'k2': 'v2', 'k1': 'v1'}
    # g.     请在 k3 对应的值的第 1     个位置插入个元素 18,输出修改后的字典
        # dic = {'k1': "v1", "k2": "v2", "k3": [11, 22, 33]}
        # dic["k3"][0] = "18"
        # print(dic)
        # 执行结果
        # {'k3': ['18', 22, 33], 'k2': 'v2', 'k1': 'v1'}
    
    # 28、求 1- 100内的所有数的和
        # a = 0
        # for i in range(0,100):
        #     a += (i+1)
        # print(a)
        # 执行结果5050
    
    # 29、元素分类
    # 有如下值集合[11, 22, 33, 44, 55, 66, 77, 88, 99, 90],将所有大于66的值保存至字典的第一个key中,将小于66的值保存至第二个key的值中。
    # 即: {'k1': 大于 66 的所有值, 'k2': 小于 66 的所有值}
        # dic1 = {}
        # list2 = [11,22,33,44,55,66,77,88,99,90]
        # for i in list2:
        #     if i > 66:
        #         dic1.setdefault('k1',[]).append(i)
        #     else:
        #         dic1.setdefault('k2',[]).append(i)
        # print(dic1)
    
    # 30、购物车
    # 功能要求:
    # 要求用户输入总资产,例如: 2000
    # 显示商品列表,让用户根据序号选择商品,加入购物车
    # 购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
    # goods = [
    #     {"name": "电脑", "price": 1999}, {"name": "鼠标", "price": 10},
    #     {"name": "游艇", "price": 20},
    #     {"name": "美女", "price": 998},
    # ]
    
    goods= [ {"name":"电脑","price":1999},
    {"name":"鼠标","price":10},
    {"name":"游艇","price":20},
    {"name":"美女","price":998},]
    
    
    shop_card=[]
    sum=0
    money = int(input('please input you have money:'))
    tag=True
    while tag:
        print('Welcome to shopping')
        print('  序号 名称 价格')
        for num in range(len(goods)):
            print('   ',num,goods[num]['name'],goods[num]['price'])
        choice=int(input('please choice your num:'))
        if choice >= len(goods):
            print('无对应商品,请重新输入')
            continue
        else:
            shop_num=int(input('please input your shop_num:'))
            shop_card.append((goods[choice]['name'],goods[choice]['price'],shop_num))
            print(shop_card)
        while tag:
            js_choice = input('1:结算	2:继续选购  --->')
            if js_choice == '1':
                for i in shop_card:
                    sum+=i[1]*i[2]
                if money-sum >0:
                    print('购买成功,剩余金额',money-sum)
                    tag=False
                else:
                    print('账户余额不足')
                    tag = False
            elif js_choice == '2':
                break
            else:
                print('输入有误,请重新输入')
  • 相关阅读:
    弹性计算双周刊 第24期
    【阿里云新品发布·周刊】第8期:数字化风暴已经来临!云+区块链,如何颠覆未来科技?
    洞见数据库前沿 阿里云数据库最强阵容 DTCC 2019 八大亮点抢先看
    开发者招聘节 | 2019阿里巴巴技术面试题分享(陆续放出)
    bzoj1856: [Scoi2010]字符串
    bzoj1257: [CQOI2007]余数之和sum
    bzoj1088: [SCOI2005]扫雷Mine
    noip2015 运输计划
    noip2015 子串
    noip2015 斗地主
  • 原文地址:https://www.cnblogs.com/bingpan/p/7226958.html
Copyright © 2020-2023  润新知