08基本数据类型---元组

元组,(1,)
不可变,任意对象的有序集合
不支持任何方法调用(只有两个:index(),count()),但具有列表拥有的大部分属性
可以看做对象引用的数组,元组存储指向其他对象的引用,并且对元组进行索引操作的速度相对较快

1、元组创建及简单方法(不支持任何方法调用,只有两个,index()、count())

a = (1,2,3)
b = (2,3,4)
c = ('a','b','a',1,2,'c','a')
d = tuple() #tuple() -> empty tuple ,()
d = tuple('abc') #('a', 'b', 'c'), tuple(iterable) -> tuple initialized from iterable's items
print(a+b)  #(1, 2, 3, 2, 3, 4)
print(c.index(2)) #T.index(value, [start, [stop]]) -> integer -- return first index of value.
print(c.count('a')) #T.count(value) -> integer -- return number of occurrences of value

2、对其排序要先转换成列表

c = ('a','b','a','c','a')
l = list(c)
l.sort()
c = tuple(l)
print(c) #('a', 'a', 'a', 'b', 'c')

 数据类型练习:简单购物车,要求如下:

实现打印商品详细信息,用户输入商品名和购买个数,则将商品名,价格,购买个数加入购物列表,
如果输入为空或其他非法输入则要求用户重新输入 

msg_dic = {
    'apple':10,
    'tesla':100,
    'mac':3000,
    'lenvo':30000,
    'chicken':10,
}
shopping_list = []
while True:
    name = input('name:')
    if not name or name not in msg_dic:continue
    number = input('number:')
    if not number.isdigit():continue
    price = int(number) * msg_dic[name]
    # shopping_dict=dict(name=name,price=price,number=number)
    shopping_list.append((name,price,number))
    print(shopping_list)

 

posted @ 2021-04-03 17:50  cheng4632  阅读(55)  评论(0编辑  收藏  举报