一个简单的python练习题
最近几天看了python的基础知识,也写了两篇博客:http://futuretechx.com/python2/ 和 http://futuretechx.com/python-basicknowl/ 但总感觉动手撸代码的能力有所欠佳,周末没事就做了一个小练习。一下是需求:
''' 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()。眼高手低,应加强动手能力。
感谢您的阅读,若有不足之处,欢迎指教,共同学习、共同进步。
博主网址:http://www.cnblogs.com/ChinacloudTech/
独立博客:http://futuretechx.com
如您喜欢,麻烦推荐一下;如您有新想法,欢迎提出,邮箱:1145356699@qq.com。
本博客为博主原创,欢迎转载,但必须注明博客来源。
更多关于游戏开发的内容也可关注微信公众号:微浪游戏