• Python 元组


    元组

    • 一旦创建不能再修改,所以又叫只读列表
    • 写法: ( )
    • 只有两个方法
      • count
      • index

    练习

      1 '''
      2 练习
      3 需求:
      4 1. 启动程序后,让用户输入工资,然后打印商品列表
      5 2. 允许用户根据商品编号购买商品
      6 3. 用户选择商品后,检测余额是否够, 够就直接扣款, 不够就提醒
      7 4. 可随时退出, 退出时,打印已购买商品和余额
      8 
      9 
     10 分析:
     11 1. 让用户输入salary
     12 2. 商品列表
     13 3. 开始让用户购买, for 循环, 已购买商品加入已购买商品列表
     14     a. 输入商品名, salary和价格相比, 大于则可以购买,并添加已购买商品列表;小于则返回购买力不足.
     15     b. 上述进程加入循环中. 并确定退出标志.
     16 5. 循环结束后,打印已购买商品列表
     17 
     18 Note:上述方法暂时无法实现, 因为list没法像Java的list一样,有key/value组合, 无法根据key去匹配.所以暂时通过索引让用户去选择商品而不是商品名.
     19 '''
     20 
     21 ''''
     22 prod_list = [
     23     ("iphone", 5000),
     24     ("Mac Pro", 12000),
     25     ("Starbuck", 31),
     26     ("alex", 81),
     27     ("Bike", 800)]
     28 
     29 shopping_list = []
     30 
     31 salary = input("salary: ")
     32 if salary.isdigit():
     33     salary = int(salary)
     34     while True:
     35 
     36         取得商品及其索引 方法1: 
     37         for item in prod_list:
     38             print(prod_list.index(item),item)
     39             break
     40             
     41         方法2:
     42         for index, item in enumerate(prod_list)
     43             print(index, item)
     44             break
     45      
     46         for index, item in enumerate(prod_list):
     47             print(index, item)
     48 
     49         user_choice = input("选择要买的商品: ")
     50         if user_choice == "quit":
     51             print("已购买商品清单:", shopping_list)
     52             break
     53         else:
     54             if user_choice.isdigit():
     55                 user_choice = int(user_choice)
     56                 if (user_choice <= len(prod_list) - 1) & (user_choice >= 0):
     57                     p_item = prod_list[user_choice]
     58                     if salary >= p_item[1]:
     59                         shopping_list.append(p_item)
     60                         salary = salary - p_item[1]
     61                         print("已购买商品清单:", shopping_list)
     62                         print("========================")
     63                     else:
     64                         print("余额不足")
     65                 else:
     66                     print("商品不存在")
     67             else:
     68                 print("请选择商品")
     69 
     70 '''
     71 
     72 
     73 prod_list = [
     74     ("iphone", 5000),
     75     ("Mac Pro", 12000),
     76     ("Starbuck", 31),
     77     ("alex", 81),
     78     ("Bike", 800)]
     79 
     80 shopping_list = []
     81 
     82 salary = input("salary: ")
     83 if salary.isdigit():
     84     salary = int(salary)
     85     while True:
     86         for index, item in enumerate(prod_list):
     87             print(index,item)
     88 
     89         user_choice = input("要买什么? ")
     90         if user_choice.isdigit():
     91             user_choice = int(user_choice)
     92             if len(prod_list) > user_choice >= 0:
     93                 p_item = prod_list[user_choice]
     94                 if salary>=p_item[1]:  #买得起
     95                     shopping_list.append(p_item)
     96                     salary-=p_item[1]
     97                     print("Added %s into shopping cart, your current balance is 33[31;1m%s33[0m" %(p_item, salary))
     98                     '''
     99                     33[31;1m%s33[0m
    100                     这一段是把%s显示成红色. 31代表字显示成红色; 41代表背景成红色. 见下例.
    101                     '''
    102                 else:
    103                     print("33[41;1m你的余额只剩[%s], 还买个毛线33[0m" % salary)
    104             else:
    105                 print("商品不存在")
    106         elif user_choice == "quit":
    107             print("-------- shopping list -------------")
    108             for p in shopping_list:
    109                 print(p)
    110             print("Your current balance: ", salary)
    111             exit()  #退出
    112         else:
    113             print("请输入正确的商品索引")
  • 相关阅读:
    论工作动力的来源是什么?答案是来自于实现自己的梦想
    向梦想者致敬
    内置函数,递归函数,模块与包,开发目录规范
    迭代器,生成器
    闭包函数,装饰器,语法糖
    函数对象,名称空间及查找,作用域
    函数调用与参数
    字符编码
    文件处理
    python 11.5数据类型及常用方法
  • 原文地址:https://www.cnblogs.com/cheese320/p/8798737.html
Copyright © 2020-2023  润新知