一个简单的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()。眼高手低,应加强动手能力。
一个简单的python练习题的更多相关文章
- 一个简单的python爬虫程序
python|网络爬虫 概述 这是一个简单的python爬虫程序,仅用作技术学习与交流,主要是通过一个简单的实际案例来对网络爬虫有个基础的认识. 什么是网络爬虫 简单的讲,网络爬虫就是模拟人访问web ...
- 作业1开发一个简单的python计算器
开发一个简单的python计算器 实现加减乘除及拓号优先级解析 用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568 ...
- 老男孩python作业5-开发一个简单的python计算器
开发一个简单的python计算器 实现加减乘除及拓号优先级解析 用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568 ...
- 一个简单的python爬虫,爬取知乎
一个简单的python爬虫,爬取知乎 主要实现 爬取一个收藏夹 里 所有问题答案下的 图片 文字信息暂未收录,可自行实现,比图片更简单 具体代码里有详细注释,请自行阅读 项目源码: # -*- cod ...
- 从零构建一个简单的 Python Web框架
为什么你想要自己构建一个 web 框架呢?我想,原因有以下几点: 你有一个新奇的想法,觉得将会取代其他的框架 你想要获得一些名气 你遇到的问题很独特,以至于现有的框架不太合适 你对 web 框架是如何 ...
- 一个简单的python线程池框架
初学python,实现了一个简单的线程池框架,线程池中除Wokers(工作线程)外,还单独创建了一个日志线程,用于日志的输出.线程间采用Queue方式进行通信. 代码如下:(不足之处,还请高手指正) ...
- 一个简单的python爬虫,以豆瓣妹子“http://www.dbmeizi.com/category/2?p= ”为例
本想抓取网易摄影上的图,但发现查看html源代码时找不到图片的url,但firebug却能定位得到.(不知道为什么???) 目标是抓取前50页的爆乳图,代码如下: import urllib2,url ...
- sopt:一个简单的python最优化库
引言 最近有些朋友总来问我有关遗传算法的东西,我是在大学搞数学建模的时候接触过一些最优化和进化算法方面的东西,以前也写过几篇博客记录过,比如遗传算法的C语言实现(一):以非线性函数求极值为例和 ...
- <每日一题>题目16:简单的python练习题(1-10)
#1.python程序中__name__的作用是什么? __name__这个系统变量用来表示程序的运行方式. 如果程序在当前膜快运行,__name__的名称就是__main__, 如果不在(被调用), ...
随机推荐
- ElasticStack系列之十九 & bulk时 index 和 create 的区别
区别: 两篇文章 id 都一样的情况下,index 是将第二篇文章覆盖第一篇:create 是在第二篇插入的时候抛出一个已经存在的异常 解释: 在批量请求的时候最好使用 create 方式进行导入.假 ...
- np.linespace使用方法
np.linespace用法 觉得有用的话,欢迎一起讨论相互学习~Follow Me 生成指定范围内指定个数的一维数组 def linspace(start, stop, num=50, endpoi ...
- SQL记录-PLSQL面向对象
PL/SQL面向对象 PL/SQL允许定义一个对象类型,这有助于在Oracle的数据库中设计的面向对象.对象类型可以包装复合类型.使用对象允许实现数据的具体结构现实世界中的对象和方法操作它.对象有属性 ...
- 在Ubuntu14.04 64bit上搭建单机Spark环境,IDE为Intelli IDEA
在Ubuntu14.04 64bit上搭建单机Spark环境,IDE为Intelli IDEA 一. 环境 Ubuntu14.04 64位 JDK 1.8.0_73 scala-2.10. ...
- jQuery下实现等待指定元素加载完毕
先声明下这个方法的使用场合,以免误导大家..比如在博客园,我们没法修改他的源代码,那么只能想办法监视元素的出现了.所以下面方法是在修改不了源码的情况下使用,而非写自己的项目.. 今天在改博客几个样式的 ...
- 【整理】HTML5游戏开发学习笔记(5)- 猜谜游戏
距上次学习笔记已有一个多月过去了,期间由于新项目赶进度,以致该学习计划给打断,十分惭愧.书本中的第六章的例子相对比较简单.所以很快就完成. 1.预备知识html5中video标签的熟悉 2.实现思路对 ...
- Chrome插件LiveStyle结合Sublime Text3编辑器实现高效可视化开发
LiveStyle是Chrome中提高开发效率的一款CSS编辑器插件.利用LiveStyle和Sublime Text3编辑器结合可实现可视化开发,一次配置,简单易用! 本文由前端交流QQ群管理员—— ...
- python技巧 使用值来排序一个字典
In [8]: a={'x':11,'y':22,'c':4} In [9]: import operator In [10]: sorted(a.items(),key=operator.itemg ...
- Hadoop 上使用C 语言编程【转】
转自:https://www.linuxidc.com/Linux/2012-04/58991.htm 今天尝试用C语言在Hadoop上编写统计单词的程序,具体过程如下: 一.编写map和reduce ...
- springcloud中Feign配置详解
Spring Cloud中Feign配置详解 到目前为止,小伙伴们对Feign的使用已经掌握的差不多了,我们在前文也提到Feign是对Ribbon和Hystrix的整合,那么在Feign中,我们要如何 ...