zoukankan      html  css  js  c++  java
  • 一个简单的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("{}:	{}".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:StudyPythonCodevenvScriptspython.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分吧,基本能实现需求。但有些不完美的地方。比如说。       

    1. if numOrder < 5 and numOrder >0 : 这里写死了,没有考虑到动态的情况。
    2. while添加一个flag比较好。能判断flag的bool值

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

    flag = True
    while flag:
        li = ["手机", "电脑", "鼠标垫", "游艇"]
        for i in li:
            print('{}		{}'.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()。眼高手低,应加强动手能力。

  • 相关阅读:
    memcache清理缓存
    JqGrid常见使用方法
    SQLyog 最新版本12.5-64bit 完美破解,亲测可用!
    Navicat Premium 最新版本12.1.16-64bit 完美破解,亲测可用!
    【JAVA基础】一:聊聊笔试常见到的 “==、equal” 比较是否相等的内在差别
    scrapy 爬虫返回json格式内容unicode编码转换为中文的问题解决
    Python3的桌面程序开发利器:Eric6的环境搭建、使用
    通过Redis、Memcache的 incr 原子操作防刷机制的使用差别
    从零开始搭建一个从Win7环境备份至CentOS7的SVN双机备份环境
    通过Quartz 配置定时调度任务:使用cron表达式配置时间点
  • 原文地址:https://www.cnblogs.com/ChinacloudTech/p/9860738.html
Copyright © 2011-2022 走看看