学习python 第二章 练习题—— 小猿圈

一、针对列表names=[‘金角大王’, ‘黑姑娘’, ‘rain’, ‘eva’, ‘狗蛋’, ‘银角大王’, ‘eva’,’鸡头’]进入以下操作

  • 通过names.index()的方法返回第2个eva的索引值
name = [‘金角大王’, ‘黑姑娘’, ‘rain’, ‘eva’, ‘狗蛋’, ‘银角大王’, ‘eva’,’鸡头’]
name.index("eva") 
3  # eva 的第一个索引值是3

name.index("eva",4,-1)
#查列表中下一个 eva的下标值的写法,4,是从第一个eva的值后算起
6
  • 把以上的列表通过切片的形式实现反转
name = [‘金角大王’, ‘黑姑娘’, ‘rain’, ‘eva’, ‘狗蛋’, ‘银角大王’, ‘eva’,’鸡头’]

name[::-1]
# [:] 这个是等于切片的范围是从第一个到最后一个
# [::-1]  :-1 是步长的意思,表示反转排序
  • 打印列表中所有下标为奇数的值
name = [‘金角大王’, ‘黑姑娘’, ‘rain’, ‘eva’, ‘狗蛋’, ‘银角大王’, ‘eva’,’鸡头’]

print (name [1::2])
# [1::2] 顾头不顾尾,从下标1 开始到最后一个元素。步长2 ,代表切片的是下标的奇数
['黑姑娘', 'eva', '银角大王', '机头']

  • 通过names.index()方法找到第2个eva值 ,并将其改成EVA
name = [‘金角大王’, ‘黑姑娘’, ‘rain’, ‘eva’, ‘狗蛋’, ‘银角大王’, ‘eva’,’鸡头’]
name.index("eva") 
3  # eva 的第一个索引值是3

name.index("eva",4,-1)
#查列表中下一个 eva的下标值的写法,4,是从第一个eva的值后算起
6
name[6] = "EVA"
# 直接修改下标6的元素 赋值为E VA

编程练习-购物车程序开发

根据以下数据结构:

goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998},
......
]

实现功能要求:

1、启动程序后,让用户输入工资,然后进入循环,打印商品列表和编号

2、允许用户根据商品编号选择商品

3、用户选择商品后,检测余额是否够,够就直接扣款,并加入购物车, 不够就提醒余额不足

4、可随时退出,退出时,打印已购买商品和余额

#!/usr/bin/env python
product_list = [
    ('Mac Book Pro',13888),
    ('Iphone7 PLUS',7000),
    ('Mac Book Air',6388),
    ('IWATCH',4000)
]
shopping_list = []
print("欢迎来到Python购物程序")
while True:
    salary = input("请输入您的工资:")
    if salary.isdigit()>0:
        salary = int(salary)
        break
    else:
        print("工资必须是整数并且大于0")
        continue
while True:
    print('编号 产品名称\t\t价格')
    for e,i in enumerate(product_list):
        print(e,'\t',i[0],'\t',i[1],'元')
    choose = input("请输入您想要购买产品编号(按Q或者q退出):")
    if choose.strip().isdigit():
        choose = int(choose)

        if choose <= len(product_list) and choose >= 0:
            sp = product_list[choose]
            if sp[1] > salary:
                print("您的余额不足,请重新输入工资,在虚拟世界获得满足。")
            else:
                shopping_list.append(product_list[choose])
                salary -= sp[1]
                print("您购买了",sp[0])
                print('您的余额还剩%d'% salary)
        else:
            print("没有这个编号,请重新输入")


    elif choose.strip() == 'Q' or 'q':
        a=1
        if shopping_list:
            for i in shopping_list:
                print(a,'.您购买了:商品名称:',i[0],'商品价格:',i[1])
                a+=1
            print("您剩余工资为:%d" % salary)
            print('您已退出!')
            exit()
        else:
            print("您没有购买任何东西!已经退出购物车")
            exit()
    else:
        print("请输入正确的选项")
        

你可能感兴趣的:(学习python 第二章 练习题—— 小猿圈)