Python小作业二(购买物品)

要求:

1、输入工资后,提供多种物品供选择。

2、有物品菜单及价格。

3、选择商品计算用户是否可以支付。

4、打印用户所购买的物品。

5、输出用户剩余的钱,问用户是否购物,结束。

逻辑图:

代码如下:

#!/usr/bin/env python
from tabulate import tabulate
import time
import sys
goods = [["1","car",20000],["2","iphone",5000],["3","computer",3000],["4","watch",1000],["5","T-short",500],["6","shoes",200],["7","hamburg",50]]
header = ["list","goods","price"]
list = tabulate(goods,header,tablefmt="grid")
print ""
print "\033[32;1mWelcome to materials  Supermarket,enjoy your self\033[0m"
print ""
while True:
    salary = raw_input("\033[33;1mPlease input your salary:\033[0m").strip()
    if  not salary.isdigit():continue
    #if not salary:continue
    break
count = 0
form=[]
while True:
    if int(salary) < 50:
        print "\033[31;1mYour salary not enough allow you consume,Say Good bay\033[0m"
        if form == []:
                print "\033[33;1myou get nothing\033[0m"
                sys.exit()
        else:
                print "\033[33;1mYour buy follows:\033[0m"
                print list3
                print "\033[32;1mYou remain %s\033[0m" %salary
                sys.exit()
    print "\033[32;1mFollow is Our Supermarket support goods,please input quence number to select articles\033[0m"
    print list
    print "\033[34;1mYour Left is %s" %salary
    list2 = raw_input("\033[32;1mPlease input your choice list-id:").strip()
    if not list2.isdigit() or int(list2) < 0 or int(list2) > 7:
        print "\033[33;1myour input is not legal,please input again(1~7)\033[0m"
        continue
    price = goods[int(list2)-1][2]
    article = goods[int(list2)-1][1]
    if salary >= price:
        salary = int(salary) - int(price)
        count += 1
        time2 = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
        price = str(price)
        count = str(count)
        element = [count,time2,article,price]
        count = int(count)
        form.append(element)
        header2 = ["list","Time","Article","Price"]
        list3 = tabulate(form,header2,tablefmt="grid")
        print "\033[33;1mYou got This:%s" %article
        print list3
        while True:
            A = raw_input("\033[32;1mWould you want to buy another articles(Y|N):\033[0m")
            if A == "Y" or A == "y":
                    break
            elif A == "N" or A == "n":
                    print "\033[33;1mSay good bey,thankYou,your buy article is follow list:\033[0m"
                    print list3
                    print "\033[32;1mYou remain %s\033[0m" %salary
                    sys.exit()
            else:
                    print "You input is not incorrect"
                    continue
时间: 2024-11-05 02:33:58

Python小作业二(购买物品)的相关文章

Python小程序练习二之装饰器小例子

Python小程序练习二之装饰器小例子 装饰器: 装饰器实际上就是为了给某程序增添功能,但该程序已经上线或已经被使用,那么就不能大批量的修改源代码,这样是不科学的也是不现实的,因为就产生了装饰器,使得其满足: 1.不能修改被装饰的函数的源代码 2.不能修改被装饰的函数的调用方式 那么根据需求,同时满足了这两点原则,这才是我们的目的. 装饰器的原则组成: < 函数+实参高阶函数+返回值高阶函数+嵌套函数+语法糖 = 装饰器 > 错误例子: 1.1Decorators.py 1 # The aut

Python作业二:三级列表

作业二:多级菜单要求:1.三级菜单2.可依次选择进入各子菜单,返回上级菜单3.所需新知识点:列表.字典 逻辑: 打印省级 省级选择 while input_s == "B": 打印省级 else: 判断省级输入 打印市级 市级选择 while input_c == "B": 打印省级 else: 判断市级输入 打印县级 县级选择 while input_x == "B": 打印市级 else: 判断县级输入 打印县级编号 代码实现: 1 # 初始

python\函数作业

----------------------作业一 # 有两个列表,分别存放来老男孩报名学习linux和python课程的学生名字# linux=['钢弹','小壁虎','小虎比','alex','wupeiqi','yuanhao']# python=['dragon','钢弹','zhejiangF4','小虎比']## 问题一:得出既报名linux又报名python的学生列表# 问题二:得出只报名linux,而没有报名python的学生列表# 问题三:得出只报名python,而没有报名li

day1作业二:多级菜单

    作业二:多级菜单 1.三级菜单 2.可以次选择进入各子菜单 3.所需新知识点:列表.字典 4.打印b回到上一层 5.打印q退出循环 流程图如下: readme: (1)存储三级菜单的字典;设置标识符active用来循环: (2)生成存储省市的字典,d1 = {1: '河南', 2: '广东', 3: '湖南'}; (3)用户输入查询编码,如果用户输入q退出循环:如果用户输入小于1或大于3则重新输入:输入编码在range(1,4)中,则输出省,并继续循环; (4)生成存储市的字典d2 =

Python基础之二:数据类型

四.Python数据类型 数字 字符串 列表 元祖 字典 1.数字类型 整型 表示范围:-2147483648到2147483647,超过该范围的会被当作长整型 示例:num=123 type(num)-返回<type 'int'>,用来测试变量的类型 长整型 表示范围:任意大整数,后跟L或l与整型区别 示例:num=1l type(num)-返回<type 'long'> 浮点型 示例:num=12.0 type(num) -返回<type'float'> 复数型 示

Python Day1 作业

作业二:编写登陆接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 FlowChart: 代码: #!usr/bin/env python # -*- coding:utf-8 -*- # Author: Wayne Zhong user = 'Wayne' pwd = '123465' f = open('status.txt') if f.read() == 'Y': for i in range(3): username = input('Input username:') pa

Python 小程序,对文件操作及其他

下面是自己写的几个对文件操作的小程序,里面涉及到文件操作,列表(集合,字典)的运用等.比如说,从文件中读取一行数据,分别存放于列表中,再对列表进行操作,如去掉里面的重复项,排序等操作. 常见对文件中行进行操作: #这里列出两个常用的方法 方法01: 一次性读取所有行 >>> f = file('1.txt') >>> while 1: lines = f.readlines() if not lines: break for line in lines: print l

初学 Python(十二)——高阶函数

初学 Python(十二)--高阶函数 初学 Python,主要整理一些学习到的知识点,这次是高阶函数. #-*- coding:utf-8 -*- ''''' 话说高阶函数: 能用函数作为参数的函数 称为高阶函数 ''' #函数作参 def f(x): return x*x #map函数为内置函数,意思为将第二个参数的list作用到f函数中 #最后的结果为一个list print map(f,[1,2,3,4,5]) #reduce函数为内置函数,意思将第二参数的序列作用到add函数值 #将结

day1作业二:多级菜单操作(函数实现)

作业二:多级菜单 (1)三级菜单 (2)可以次选择进入各子菜单 (3)所需新知识点:列表.字典 要求:输入back返回上一层,输入quit退出整个程序 本示例的三级菜单是一个yaml文件格式,格式如下: 香港: 香港 澳门: 澳门 台湾: 台湾 钓鱼岛: 钓鱼岛 北京市: - 市辖区 - 东城区 - 西城区 - 崇文区 - 宣武区 - 朝阳区 河北省: - 石家庄市: - 长安区 - 桥东区 - 桥西区 - 新华区 - 唐山市: - 路南区 - 路北区 - 古冶区 - 开平区 - 秦皇岛市: -