Python学习任务:购物

任务内容:
商品列表:
  goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998}
]
要求:
1:页面显示 序号 + 商品名称 + 商品价格,如:
      1 电脑 1999 
      2 鼠标 10
  ...
2:用户输入选择的商品序号,然后打印商品名称及商品价格
3:如果用户输入的商品序号有误,则提示输入有误,并重新输入。
4:用户输入Q或者q,退出程序。

思考:对于页面显示的实践,可以用遍历字典来实现即for循环。对于2的实现我们可以通过字典的调用来实现。至于3与4即可用if语句来实现。

实践过程:

1.建一个空字典来存储商品名称价格与序号,这里我们用序号做键,名称与价格做值方便之后用户输入序号后的调用。

goods = {
    '1': '电脑 1999',
    '2': '鼠标 10',
    '3': '游艇 20',
    '4': '美女 998',
}

2.之后我们用for循环来实现遍历字典将并其显示出来

goods = {
    '1': '电脑 1999',
    '2': '鼠标 10',
    '3': '游艇 20',
    '4': '美女 998',
}
for number,nameandprize in goods.items():
    print(f"{number}" f"{nameandprize}")

3.之后我们建立一个while循环,用input()函数来让用户输入序列号,用if语句来实现不同的功能,这里我们为了验证输入的序列号是否真正存在于我们的商品列表中,我先将之前的序号都加入到一个名字叫numbers的空列表中,之后用in来判断(要注意空列表设置的位置,不要让其处于for in的循环中)

numbers=[]
goods = {
    '1': '电脑 1999',
    '2': '鼠标 10',
    '3': '游艇 20',
    '4': '美女 998',
}
for number,nameandprize in goods.items():
    print(f"{number}" f"{nameandprize}")
    numbers.append(number)


while True:
    a = input("请输入您选择商品的序号(输入q退出):")

    if a in ('q','Q'):
        print("您已退出")
        break
    elif a in numbers:
        print(goods[f"{a}"])
    else:
        print("您输入的序号有误请重新输入")

实践结果:

numbers=[]
goods = {
    '1': '电脑 1999',
    '2': '鼠标 10',
    '3': '游艇 20',
    '4': '美女 998',
}
for number,nameandprize in goods.items():
    print(f"{number}" f"{nameandprize}")
    numbers.append(number)


while True:
    a = input("请输入您选择商品的序号(输入q退出):")

    if a in ('q','Q'):
        print("您已退出")
        break
    elif a in numbers:
        print(goods[f"{a}"])
    else:
        print("您输入的序号有误请重新输入")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值