Py 3基础 day2(continue2)
深浅copy
import copy person = ['name',['saveing',100]] ''' p1 = copy.copy(person) p2 = person[:] p3 = list(person)''' p1 = person[:] p2 = person[:] p1[0] = 'zhang' p2[0] = 'fengjie' p1[1][1] = 50 print(p1) print(p2)
元组()
元组不可变
练习题:enumerate的应用(取出列表下标)
1.启动程序,让用户输入工资,让后打印列表
2.允许用户根据商品的编号购买商品
3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
4.可随时退出,打印已购买的商品和余额
product_list = [ ('Iphone',5800), ('Mac_PRO',12000), ('bike',800), ('Watch',10600), ('Coffee',31), ('python',88), ] salary = input("Input your salary:") if salary.isdigit(): salary = int(salary) while True: for index,item in enumerate(product_list): print(index,item) #print(product_list.index(item),item) break
1.启动程序,让用户输入工资,让后打印列表
2.允许用户根据商品的编号购买商品
3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
4.可随时退出,打印已购买的商品和余额
product_list = [
('Iphone',5800), ('Mac Pro',9800), ('Bike',800), ('Watch',10000), ('Python Book',88), ('coffe',30), ('blog',60), ] shopping_list = [] salary = input("Input your salary:") if salary.isdigit(): salary = int(salary) while True: for index,item in enumerate(product_list): print(index,item) #print(product_list.index(item),item) user_choice = input("请输入要买的商品:") 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: #买得起 shopping_list.append(p_item) salary -= p_item[1] print("Added %s into shopping cart,your current balance is \033[31;1m%s\033[0m" %(p_item,salary)) else: print("\033[41;1m你的余额只剩[%s]啦,你还买啥呀!\033[0m"% user_choice) else: print("product code [%s] is not exit!") elif user_choice == 'q': print("-----shopping_list-----") for p in shopping_list: print(p) print("Your current balance:",salary) exit() else : print("invalid option")
2.字符串的操作
name = "zhangguoqi" print(name.capitalize()) #首字母大写 print(name.count("g")) #统计字母个数 print(name.center(30,"-"))#打印50个字符,不够的补上 #print(name.encode()) print(name.endswith("qi"))#判断字符串以什么结尾 print(name.expandtabs(tabsize=20)) #打印多少个空格 print(name[name.find("z"):6])#字符串可以切片 print('ab66'.isalnum()) # print('abc66'.isalpha()) #纯英文字符 print('E'.isdecimal()) #是否是10进制数 print('E'.isdigit()) #是否是一个整数 print('e'.isidentifier())#判断是否是合法的标识符 print('e'.islower())#是否是小写 print('E'.istitle())#是否是标题 print('e'.isupper())#是否全是大写 print('+'.join(['1','2','3']))#1+2+3 print(name.ljust(30,'&'))#不够字符串长度在后面补上 print(name.rjust(30,'&'))#不够字符串长度在前面补上 print('Zhang'.lower())#变小写 print('Zhang'.upper())#变大写 print('Zhang\n'.lstrip())#去左 print('\nZhang'.lstrip())#去右
p = str.maketrans("abcdef",'123456') #随机密码 print("zhangguoqi".translate(p)) print('zhang'.replace('g','G',1))#替换(只替换一个) print('zhang'.rfind('a'))#找到字母所在的位置 print('1+2+3'.split('+'))#将字符分离出来 print('1+2\n+5'.splitlines())#识别系统的换行 print('zhang'.swapcase())#变换大写 print('zhangguoqi'.zfill(50))#不够位数填充零3.字典操作