python中对列表和循环使用的小练习

#author devilf

product_list = [
    (‘iphone‘,5800),
    (‘Mac Pro‘,9800),
    (‘Bike‘,800),
    (‘Watch‘,10000),
    (‘Coffee‘,123)
]
shop_list = []
salary = input(‘pls enter your salary: ‘)

if salary.isdigit():                    #判断是否为整形,否则会退出
    salary = int(salary)
    while True:
        for index,info in enumerate(product_list):                  #打印列表
#            print(product_list.index(info),info)
            print(index,info)
        user_choice = input(‘pls enter what you buy\n>>>: ‘)        #输入要购买的商品 编号
        if user_choice.isdigit():                   #再判断下输入的是否是数字,否则退出
            user_choice = int(user_choice)
            if user_choice <= len(product_list) and user_choice >= 0:       #判断输入的编号是否在商品列表的编号范围内
                p_item = product_list[user_choice]              #取出编号对应的商品名称
                if p_item[1] <= salary:             #判断改商品的价格是否在工资范围内
                    shop_list.append(p_item)        #如果在工资范围内,购买!
                    salary -= p_item[1]             #总工资便会减少对应的钱
                    print(‘Added %s into shopping cart,your current balance is %s‘ %(p_item,salary))
                else:
                    print(‘your current balance is %s ,now is not enough‘ % (salary))
            else:
                print(‘product %s is not exist!‘ % user_choice )
        elif user_choice == ‘q‘:                    #如果输入的是 ‘q‘,便会退出
            print(‘-------------shopping list------------‘)
            for p in shop_list:
                print(p)
            print(‘quit.....,your current money: ‘,salary)
            exit()
        else:
            print(‘Invalid option‘)
时间: 2024-12-19 20:08:56

python中对列表和循环使用的小练习的相关文章

关于Python中的列表理解及用法

在Python中,列表理解通常用于编写单行语句,这些语句通过可迭代对象进行迭代以创建新的列表或字典.本文首先介绍for循环如何在Python中工作,然后解释如何在Python中使用列表理解. Python中的for循环 Python中的for循环语句按顺序遍历任何对象.列表.字符串等的成员.与其他编程语言相比,它的语法更加简洁,不需要手工定义迭代步骤,也不需要开始迭代.尽管有几种方法可以使它的行为与其他编程语言相同(本文将不详细讨论).还可以使用continue.break.pass等语句控制f

Python中的判断、循环 if...else,while

if...else语句: a=3; b=3; if a == b :print(a,b)elif a <= b :print(str(a) + " is less than " + str(b))else :print(str(a) + " is greater than " + str(b)) ################################### n = 3if (n >= 0 and n <= 8) or (n >= 1

Python中的列表,元组,字符串之间的相互转化

Python中的列表元组和字符串之间的相互转化需要利用,tuple(),list(),str(). 示例如下: >>> the_string = "hello I'am xiaoli!" >>> #字符串转化为元组 >>> the_tuple = tuple(the_string) >>> the_tuple ('h', 'e', 'l', 'l', 'o', ' ', 'I', "'", 'a

Python 中使用列表解析时候的区别

使用[] + for语句是解析列表 而使用() + for语句是产生生成器 实例代码如下: alist = [1, 2, 3, 4, 5] another_list = [i for i in alist] print another_list a_generator = (i for i in alist) print a_generator for i in a_generator: print i Python 中使用列表解析时候的区别

Python中的列表解析和生成器表达式

Python中的列表解析和生成器表达式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.列表解析案例 1 #!/usr/bin/env python 2 #_*_coding:utf-8_*_ 3 #@author :yinzhengjie 4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/

python中的列表及numpy数组排序

一.列表排序  # python中对列表排序有sort.sorted两种方法,其中sort是列表内置方法,其帮助文档如下:In [1]: help(sorted) Help on built-in function sorted in module builtins: sorted(iterable, /, *, key=None, reverse=False) Return a new list containing all items from the iterable in ascendi

python中,花括号,中括号,小括号的区别

python中,花括号,中括号,小括号的区别 Python主要有三种数据类型:字典.列表.元组.其分别由花括号,中括号,小括号表示. 如: 字典:dic={'a':12,'b':34} 列表:list=[1,2,3,4] 元组:tup=(1,2,3,4) 至于这三者的具体区别,有很多介绍的,我就不在这里赘述了.

python中的迭代与循环

常用的循环结构是用于迭代多个项的for语句,循环是python最重要的功能之一,最常见的迭代只是循环一个序列(字符串,列表,或者元组)的所有成员 1,迭代列表: for n in [1,2,3,4,5,6,7,8,9]:  print("number:%d  value: %d" %(n,2*n)) 输出结果: number:1  value: 2number:2  value: 4number:3  value: 6number:4  value: 8number:5  value:

Python中的列表(5)

1.使用函数 range() 创建一个数字列表 for value in range(1,5): print(value) console: 我们发现,它并不会打印数字5,因为 range() 函数,它会打印从第一个参数开始,到第二个参数时结束,因此输出不包含第二个值(本例子是5). 如果要打印1 到 5 则需要使用 range(1,6). 如果想要将range() 函数的结果变为列表,则可以使用 函数 list() 直接将 range() 的结果转为列表.将 range() 作为函数 list