内容正文:
项目5 灵活使用组合数据
项目内容
随机分配办公室
识别单词
中英文数字对照表
01
02
03
项目目标
知识目标
熟悉组合数据类型的分类
熟悉序列类型的特点
熟悉列表类型的特点及基本操作
熟悉字典类型的特点及基本操作
会运用列表和元组解决实际问题
会运用字典和集合解决实际问题
技能目标
中英文数字对照表
02
认识元组
元组同列表一样,是Python中最灵活的有序序列,它可以存储任意类型的元素。但开发人员对元组不能进行任何操作。
创建元组
使用圆括号“()”创建元组,并将元组中的元素用逗号进行分隔。
使用圆括号创建元组
tu_one = () # 空元组
tu_two = (‘t’, ‘u’, ‘p’, ‘l’, ‘e’) # 元组中元素类型相同
tu_three = (0.3, 1, 'python', '&',) # 元组中元素类型不同
当使用圆括号“()”创建元组时,如果元组中只包含一个元素,那么需要在该元素的后面添加逗号,从而保证Python解释器能够识别其为元组类型。
当通过tuple()函数创建元组时,如果不传入任何数据,就会创建一个空元组;如果要创建包含元素的元组,就必须传入可迭代类型的数据。
使用tuple()函数创建元组
tuple_null = tuple()
print(tuple_null)
tuple_str = tuple('abc')
print(tuple_str)
( )
('a', 'b', 'c')
访问元组
元组可以使用索引访问元组中的元素。
使用索引访问单个元素
tuple_demo = ('hello', 100, 'Python')
print(tuple_demo[0])
print(tuple_demo[1])
print(tuple_demo[2])
使用切片访问元组元素
元组还可以使用切片来访问元组中的元素。
exam_tuple = ('h', 'e', 'l', 'l', 'o')
print(exam_tuple[1:4])
遍历元组
元组也是一个可迭代对象,可以通过for循环遍历元素。
>>> tup_one =('章一萍', '李丽', '武小元', '刘静静')
>>> for i in tup_one:
print('嗨,%s!双十一促销,赶快来看看吧!'%i)
嗨,章一萍!双十一促销,赶快来看看吧!
嗨,李丽!双十一促销,赶快来看看吧!
嗨,武小元!双十一促销,赶快来看看吧!
嗨,刘静静!双十一促销,赶快来看看吧!
修改元组
元组中的元素是不允许修改的,除非在元组中包含可变类型的数据。
拼接元组
元组中的元素不允许修改,但与字符串、列表的拼接方法一样,利用加号“+”能完成元组拼接。
>>> tuple1=(123,'你好')
>>> tuple2=('abc',True)
>>> tuple1+=tuple2
>>> print(tuple1)
(123, '你好', 'abc', True)
>>>
复制元组
与字符串、列表的复制方法一样,利用星号“*”能完成元组复制,需要注意的是,星号“*”后是复制的次数。
>>> tuple1=(123,'你好')*3
>>> print(tuple1)
(123, '你好', 123, '你好', 123, '你好')
实例2:找到只出现一次的“它”。
已知元组tup=(2,3,7,2,9,7,6,3,2,1),要求找到第一个只出现一次的元素及其索引值。提示:count(x)方法返回指定值x在元组中出现的次数;index(x)方法返回指定值x在元组中第一次出现的位置。
tup=(2,3,7,2,9,7,6,3,2,1)
for x in tup:
if tup.count(x)==1:
print("元组中第一个只出现一次的元素是%d,索引是%d)"%(x,tup.index(x)))
break
任务实践-中英文数字对照表
阿拉伯数字因其具有简单易写、方便使用的特点成为了最流行的数字书写方式,但在使用阿拉伯数字计数时,可以对某些数字不漏痕迹的修改成其它数字,例如,将数字“1”修改为数字“7”,将数字“3”修改为数字“8”。为了避免引起不必要的麻烦,可以使用中文大写数字如壹、贰、叁、肆……替换阿拉伯数字。本任务要求编写程序,实现将输入的阿拉伯数字转为中文大写数字的功能。
代码如下:
#中英文数字对照表
uppercase_numbers = ("零","壹","贰","叁","肆","伍","陆","柒","捌","玖")
number = input("请输入一个数字:")
for i in range(len(number)):
if number[i]!='.':
print(uppercase_numbers[int(number[i])], end="")
else:
print('点',end="")
$$