zoukankan      html  css  js  c++  java
  • Python流程控制条件语句和循环语句

    最近学习了Python的数据类型以及条件判断和循环判断,做了一个简易的购物车demo

    实现在购物车中添加(list的append方法)商品,删除商品(list的pop和remove方法),并具有简单的判断。

    1、插入的商品序号如果超过list的元素总数进行提示,并重新输入;

    2、使用序号删除商品时,如果序号超出list元素总数进行提示,并重新输入;

    3、使用商品名称删除商品时,如果购物车没有此商品则进行提示,并重新输入;

    Demo的代码如下:

     1 #! /usr/bin/env python
     2 # _*_ coding:utf-8 _*_
     3 # @Time    :2017/10/25-21:55
     4 # @Author  :Kelake
     5 # File     :shopping_cart_demo.py
     6 
     7 shoplist = ['apple', 'mango', 'carrot', 'banana']
     8 print "\"shoplist\" 的数据类型是:%s,总共有%s个商品。" % (type(shoplist), len(shoplist))
     9 
    10 print "当前的购物列表是:%s" % shoplist
    11 
    12 i = "列表list的input使用"
    13 print "***" * 10 + i + "***" * 10
    14 while True:
    15     x = raw_input("请输入需要追加到购物列表后面的商品:\n")
    16     if x not in shoplist:
    17         shoplist.append(x)
    18         print "使用\"list\"的\"append\"追加的购物列表是:%s" % shoplist
    19         break
    20     else:
    21         print "购物列表存在你输入的商品!"
    22 
    23 ins = "list的insert使用"
    24 print "***" * 10 + ins + "***" * 10
    25 while True:
    26     insertA = input("请输入需要插入到列表位置的序号:\n")
    27     if insertA >= 0 and insertA < len(shoplist):
    28         insertB = raw_input("请输入需要添加的商品名:\n")
    29         shoplist.insert(insertA, insertB)
    30         print "使用\"list\"的\"insert\"的插入功能的购物列表是:%s" % shoplist
    31         break
    32     else:
    33         print "请输入(0 - %s)的整数,请重新输入:" % (str(len(shoplist) - 1))
    34         # if insertA == type(int) and insertB == type(str):
    35         #
    36         # elif insertA != type(int) and insertB == type(str):
    37         #    print "请输入整数,请重新输入。"
    38         # elif insertA == type(int) and insertB != type(str):
    39         #    print "请输入字符串,请重新输入。"
    40 
    41         # else:
    42         #    print "输入不正确,请重新输入。"
    43 
    44 P = "list的pop使用"
    45 print "***" * 10 + P + "***" * 10
    46 while True:
    47     popA = input("请输入需要删除的商品的序号(0-%s):\n" % str(len(shoplist) - 1))
    48     if 0 <= popA <= len(shoplist):
    49         shoplist.pop(popA)
    50         print "使用\"list\"的\"pop\"的删除功能的购物列表是:%s" % shoplist
    51         break
    52     else:
    53         print "输入的数值范围不对,请重新输入。"
    54 
    55 # print "***list的remove使用" * 20
    56 # removeA = raw_input("请输入需要删除的商品的名称:\n")
    57 # shoplist.remove(removeA)
    58 # print "使用\"list\"的\"remove\"的删除功能的购物列表是:%s"%shoplist
    59 
    60 re = "***" * 10 + "list的remove使用" + "***" * 10
    61 print re
    62 while True:
    63     removeA = raw_input("请输入需要删除的商品的名称:\n")
    64     if removeA in shoplist:
    65         shoplist.remove(removeA)
    66         print "使用\"list\"的\"remove\"的删除功能的购物列表是:%s" % shoplist
    67         break
    68     else:
    69         print "您输入的不是购物车内的产品,请重新输入!"
    70 
    71 while True:
    72     inputC = raw_input("如果要倒序排列购物车商品请按s,顺序排列购物车请按r:\n")
    73     if inputC == "s":
    74         print "倒序排列购物列表为:"
    75         shoplist.sort()
    76         print shoplist
    77         break
    78     elif inputC == "r":
    79         print "顺序排列购物列表为:"
    80         shoplist.reverse()
    81         print shoplist
    82         break
    83     else:
    84         print "输入有误,请重新输入:"
    View Code

    后续再根据学习进度,不断的进行Demo的更新。

    Python中,continue 、 break 、 pass 、 exit() 的区别

    pass:不做任何事,只起到占位符,方便后续添加相关逻辑。

    continue:跳出本次循环

    break:结束循环

    exit():结束整个程序

    Python中 range 和xrange的区别:

    range产生的是一个列表,xrange产生的是一个类似迭代器。

    对于较大的集合的时候,xrange比range性能好。

    range一次把所有的数据都返回,xrange每次调用返回其中的一个值。

    对比Demo

     1 #!/usr/bin/env python
     2 # -*- coding:utf-8 -*-
     3 # @Time    :2017/10/17  21:52
     4 # @Author  :Kelake
     5 # File     :test.py
     6 
     7 print range(1 , 10)
     8 print xrange(1 , 10)
     9 print list(xrange(1,10))
    10 
    11 print type(range(1,10))
    12 print type(xrange(1,10))
    13 
    14 import time
    15 sum1 = 0
    16 start1 = time.clock()
    17 for i in range(1,100000000):
    18     sum1 += i
    19 end1 = time.clock()
    20 print end1 - start1
    21 print sum1
    22 
    23 import time
    24 sum2 = 0
    25 start2 = time.clock()
    26 for i in xrange(1,100000000):
    27     sum2 += i
    28 end2 = time.clock()
    29 print end2 - start2
    30 print sum2
    View Code

    运行截图:

  • 相关阅读:
    手撕 Goroutine 同步问题
    go基础知识面试备忘录
    专题3:链表类题型总结(go)
    python自动化开发-[第四天]-函数
    NOIP 飞扬的小鸟 题解
    集合 Properties 的 简单例子(Spring)
    Linux常用命令
    网络安全系列索引
    关于个人博客
    使用User Agent和代理IP隐藏身份
  • 原文地址:https://www.cnblogs.com/kelake/p/7732861.html
Copyright © 2011-2022 走看看