python基础训练题答案_一个简单的python练习题

‘‘‘

4、输出商品列表,用户输入序号,显示用户选中的商品

商品 li = ["手机", "电脑", ‘鼠标垫‘, ‘游艇‘]

要求:1:页面显示 序号 + 商品名称,如:

1 手机

2 电脑

2: 用户输入选择的商品序号,然后打印商品名称

3:如果用户输入的商品序号有误,则提示输入有误,并重新输入。

4:用户输入Q或者q,退出程序。

‘‘‘

没有看答案,先自己写了一遍,以下是我自己的代码

li=["手机","电脑","鼠标垫","游艇"]

print("商品列表:")

for i in li :

print("{}:\t{}".format(li.index(i)+1,i))

while True :

strOrder=input("请输入你要选的商品序号(Q/q 退出):")

if strOrder.isdigit() :

numOrder = int(strOrder)

if numOrder < 5 and numOrder >0 :

print(li[numOrder-1])

else :

print("number is more than large! Please input it again!")

elif strOrder.upper()!="Q" :

print("input error, Please input number and try it again!")

else :

print("exit!")

break

输出结果:

D:\Study\Python\Code\venv\Scripts\python.exe D:/Study/Python/Code/Storebuy

商品列表:

1:手机

2:电脑

3:鼠标垫

4:游艇

请输入你要选的商品序号(Q/q 退出):1

手机

请输入你要选的商品序号(Q/q 退出):2

电脑

请输入你要选的商品序号(Q/q 退出):3

鼠标垫

请输入你要选的商品序号(Q/q 退出):s

input error, Please input number and try it again!

请输入你要选的商品序号(Q/q 退出):7

number is more than large! Please input it again!

请输入你要选的商品序号(Q/q 退出):0

number is more than large! Please input it again!

请输入你要选的商品序号(Q/q 退出):-5

input error, Please input number and try it again!

请输入你要选的商品序号(Q/q 退出):q

exit!

给自己打90分吧,基本能实现需求。但有些不完美的地方。比如说。

if numOrder < 5 and numOrder >0 : 这里写死了,没有考虑到动态的情况。

while添加一个flag比较好。能判断flag的bool值

以上想法也是看到标准答案之后才想起来的。以下是给出的答案:

flag = True

while flag:

li = ["手机", "电脑", "鼠标垫", "游艇"]

for i in li:

print(‘{}\t\t{}‘.format(li.index(i)+1,i))

num_of_chioce = input(‘请输入选择的商品序号/输入Q或者q退出程序:‘)

if num_of_chioce.isdigit():

num_of_chioce = int(num_of_chioce)

if num_of_chioce > 0 and num_of_chioce <= len(li):

print(li[num_of_chioce-1])

else:print(‘请输入有效数字‘)

elif num_of_chioce.upper() == ‘Q‘:break

else:print(‘请输入数字‘)

总结: 这么简单一个问题,写了半个小时,基础知识还是不牢固,有些函数只知道名字,不知道具体用法。比如说format()。眼高手低,应加强动手能力。

原文地址:https://www.cnblogs.com/ChinacloudTech/p/9860738.html

你可能感兴趣的:(python基础训练题答案)