您的位置:首页 > 编程语言 > Python开发

python学习Day2

2017-12-11 22:10 260 查看
names=['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']
print(names)
#新增
names.append('lalala')
print(names)
names.insert(2,'wulengtan')
print(names)
names.insert(3,'cangjinkong')
print(names)
#删除
del names[2]
print(names)
names.remove('cangjinkong')
print(names)
#反转
names.reverse()
print(names)
#排序
names.sort()
print(names)
#删除最后一个
names.pop()
print(names)
#修改
names[6]='1'
print(names)
#获取下标
print(names.index('1'))
#扩展
b=['1','2','3']
#这个方法需要重新定义变量
name=names+b
print(name)
names.extend(b)
print(names)
#统计
print(names.count('1'))

for i in names:
print(i)
'''启动程序后,让用户输入工资,然后打印商品列表
允许用户根据商品编号购买商品
用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
可随时退出,退出时,打印已购买商品和余额
'''
shopping_list = [('IPhone x', 8388), ('Mac Pro', 11700)]
user_shopping_cart = []
choose_ic = input('请输入你的工资(退出输入q):')
if choose_ic == 'q':
print('成功退出!')
exit()
else:
choose_ic = int(choose_ic)
i=0
for index, items in enumerate(shopping_list):
print(index, items)
while i>=0:
user_choose = input('请输入你要购买的物品,如需退出请输入q:')
i+=1
if user_choose == 'q':
print('已经购买的商品:', user_shopping_cart)
print('你的余额', choose_ic)
exit()
else:
'''
选择的商品在列表中
'''
user_choose = int(user_choose)
if user_choose < len(shopping_list):
'''
如果余额大于商品价格,可以购买,然后加到购物列表,然后扣款
'''
if choose_ic >= shopping_list[user_choose][1]:
user_shopping_cart.append(shopping_list[user_choose][0])
choose_ic = choose_ic - shopping_list[user_choose][1]
print('%s已经加入购物车,余额%d元' %(shopping_list[user_choose][0],choose_ic))
# print('{}已经加入购物车,余额{}元)').format(shopping_list[user_choose][0],choose_ic)
else:
print('你的余额不足!')
else:
print('没有该商品!')
"""
52周存钱计划,使用list,和math库,可以输入存钱数和周数,封装成函数
"""
import math
def hanshu(money_pre_week,increase_money,total_week):

money_list=[]
saving = 0
for i in range(total_week):
money_list.append(money_pre_week)
saving = math.fsum(money_list)
print('第%d周存入账户%d元,当前账户累计金额%d元'%(i + 1, money_pre_week, saving))
#更新下一周的钱
money_pre_week = money_pre_week+increase_money
def main():
money_pre_week = int(input('请输入你存的钱:'))
increase_money = int(input('请输入你递增的钱:'))
total_week = int(input('请输入你存钱的周数:'))
hanshu(money_pre_week,increase_money,total_week)
if __name__ == '__main__':
main()
name='hello python'
print(name.capitalize())#首字母大写
print(name.count('o'))#统计字符o出现的次数
print(name.center(50,"-"))#输出-------------------hello python-------------------
print(name.find('o'))#查找字符,找到返回其索引, 找不到返回-1
print(('my name is {},{} years old').format('wmx',27))
print('abc123'.isalnum())#判断是否是阿拉伯数字和字符,不能有特殊字符
print('abc'.isalpha())#判断是否纯字符,大小写
print('111'.isdigit())#判断是否是整数
print('ABCsd'.isupper())#判断是否都是大写
print('abc'.upper())#转换成大写
print('ABC'.lower())#转换成小写
#************************************
'''
Python maketrans() 方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。
注:两个字符串的长度必须相同,为一一对应的关系。
Python translate() 方法根据参数table给出的表(包含 256 个字符)转换字符串的字符, 要过滤掉的字符放到 del 参数中。
'''
string1=str.maketrans('abcd','1234','b')
string2=str.maketrans('abcd','1234')
str='my name is wanabcd'
print(str.translate(string1))
print(str.translate(string2))
#************************************
print('wanmingxing'.rfind('i'))#找到最右边的字符的序列
print('wanmingxing'.find('i'))#找到第一个字符的序列
print('1|2|3|4'.split('|'))#分割



字典:
info = {
'stu1101': "TengLan Wu",
'stu1102': "LongZe Luola",
'stu1103': "XiaoZe Maliya",
}

print(info)
#查找,在确定有key的情况下可以用第一种,如果不确定就用info.get()
print(info['stu1103'])
print(info.get('stu1103'))
#存在就修改,不存在就新增
info['stu1101']='Mingri hua'
print(info)
info['stu1104']='Rio'
print(info)
#del和pop指定删除,popitem随机删除
del info['stu1104']
print(info)
info.pop('stu1103')
print(info)
print(info.values())
print(info.keys())
#dict循环
for i in info:
print(i,info[i])
#第二种方法先把dict转成list,数据量大时莫用
for i,j in info.items():
print(i,j)

menu = {
'北京':{
'海淀':{
'五道口':{
'soho':{},
'网易':{},
'google':{}
},
'中关村':{
'爱奇艺':{},
'汽车之家':{},
'youku':{},
},
'上地':{
'百度':{},
},
},
'昌平':{
'沙河':{
'老男孩':{},
'北航':{},
},
'天通苑':{},
'回龙观':{},
},
'朝阳':{},
'东城':{},
},
'上海':{
'闵行':{
"人民广场":{
'炸鸡店':{}
}
},
'闸北':{
'火车战':{
'携程':{}
}
},
'浦东':{},
},
'山东':{},
}

current_layer = menu

layers = [menu]

while True:
for k in current_layer:
print(k)
choice = input(">>:").strip()
if choice == "b":
current_layer = layers[-1]
#print("change to laster", current_layer)
layers.pop()
elif choice not  in current_layer:
print('没有该选项,请重新输入!')
else:
layers.append(current_layer)
current_layer = current_layer[choice]





                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: