任务内容:
商品列表:
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("您输入的序号有误请重新输入")