Python学习笔记 Day 2

  • 初识库(模块)
  • pyc文件与PyCodeObject文件
  • 数据类型
  • 列表(数组)
    • 一维
    • 二维
    • 元组(只读数组)
    • 程序练习
  • 字符串
  • 字典
    • 注:
    • 运用
      • 增减删找查
      • .keys(),.values()等各种函数及字典的嵌套运用
      • 字典循环(同列表)
  • 作业

初识库(模块)

import sys
print (sys.path)#打印系统库(即环境变量)路径
print(sys.argv)#找印当前文件路径,即绝对路径
import os
cmd_res=os.system("dir")#dir,查看当前路径文件,执行命令,不保存结果
cmd_res1=os.popen("dir")#保存结果
print(cmd_res)
print(cmd_res1)
os.mkdir("new folder1")#系统库路径下创建文件

pyc文件与PyCodeObject文件

pyc文件与PyCodeObject文件是Python编译器真正编译成的结果。pyc文件相当于是高级语言与机器语言的解释,PyCodeObject文件在硬盘中找不到,但其共同完成解释。Python不像C,不可以直接编译。Python需要中间解释。

数据类型

列表(数组)

一维

如下的使用亦可应用于二维

  1. 在使用索引时,里面的索引数值为负时,表明是从后往前数第N个;-1是最后一个
name=["liang","li","qi","xin"]
print (name[-2:])#0,-1可以不写

  1. 数组加元素
    从最后面加元素,使用的方法是引用.append()函数
    如下:
name=["liang","li","qi","xin"]
name.append("liu")
print (name[0:5])


如果从中间加元素,则使用的是.insert()函数
如下:

names=["liang","li","qi","xin"]
names.insert(2,"liu")#insert(i,"元素"),I为元素所插入位置
print (names[0:5])

  1. 数组换元素:
names=["liang","li","qi","xin"]
names[2]="chen"
print (names[0:5])

  1. 删元素
names=["liang","li","qi","xin"]
del names[1]#等同names.pop(1),删数组,del names,使数组消失
print (names[0:5])

names=["liang","li","qi","xin"]
names.pop()
#函数不加元素位置参数,默认删最后一个,加上参数,则删参数位置元素
print (names[0:5])

  1. 找元素位置
names=["liang","li","qi","xin"]
print (names.index("qi"))#.index(),索引函数

  1. 元素计算个数
names=["liang","li","qi","xin","li","li","li"]
print (names.count("li"))#.count为计总函数

  1. 清空元素
names=["liang","li","qi","xin","li","li","li"]
names.clear()
print(names)

  1. 反转函数元素
names=["liang","li","qi","xin","li","li","li"]
names.reverse()
print(names)

  1. 使元素按ascii码排序
names=["Liang","3li","qi","#xin"]
names.sort()
print(names)

  1. 合并另一个数组
names=["Liang","3li","qi","#xin"]
names_another=["liang","li","xin","li","li","li"]
names.extend(names_another)
print(names,"\n",names_another)

  1. 数组复制
    把多维复制到一维,只有第一维复制到,Copy的是地址。因为Copy的是地址,从结果上看与深复制一样。而如果不使用深复制,只是浅复制,那对于里面的只是引用,当其他对象也在浅复制了同一个多维数组时,一处地方改动被复制多维的数据,这个改动会同步到其他地方。多维复制要使用Copy模块中的深复制,copy.deepcopy()函数,这样才是独立复制,把数据完复制过去。
names=["Liang","3li","qi","#xin"]
names_another=["liang","li","xin","li","li","li"]
names=names_another.copy()
#浅复制,等同于names=names_another,names=copy.copy(names_another)
#使用copy.copy(),要import copy
print(names,"\n",names_another)


更多有关数组的使用

  1. 列表循环
names_another=["liang","li","xin","li","li","li"]
for i in names :print(i)

二维

  1. 深Copy
import copy
names=["liang","li","xin","li","li","li"];
names_another=["ik",
["dksla","dsa","0","%3##"],
["*%^","iio","3rn","^yi:"],
["dk","iioo","jdks","II"],
"dka"
]
names=copy.deepcopy(names_another)
names2=names_another.copy()
print(names,"\n",names_another,"\n",names2)

  1. 深浅copy的对比
    多个股东共同管理财产,使用公用银行账号
import copy
names_and_countor=["姓名",["银行","余额"]]
gd1=names_and_countor.copy()
gd2=names_and_countor[:]
gd3=copy.copy(names_and_countor)
gd4=names_and_countor.copy()
gd5=names_and_countor[:]
gd6=copy.copy(names_and_countor)
duibi=copy.deepcopy(names_and_countor)
gd1[0]="zhangshan"#改名
gd2[0]="lisi"
gd3[0]="dkls"
gd4[0]="dsad"
gd5[0]="dvdfdd"
gd6[0]="dsafds"
duibi[0]="dddd"
gd1[1][0]="中国工商银行62622699999999999999"#银行账号
gd1[1][1]="8000"#余额
gd6[1][1]="7500"#股东6拿了500出来用于公司运转
print(gd1,"\n",gd2,"\n",gd3,"\n",gd4,"\n",gd5,"\n",gd6,"\n",duibi)

结果如下

 ['zhangshan', ['中国工商银行62622699999999999999', '7500']] ['lisi', ['中国工商银行62622699999999999999', '7500']] ['dkls', ['中国工商银行62622699999999999999', '7500']] ['dsad', ['中国工商银行62622699999999999999', '7500']] ['dvdfdd', ['中国工商银行62622699999999999999', '7500']] ['dsafds', ['中国工商银行62622699999999999999', '7500']] ['dddd', ['银行', '余额']]

可以看出浅复制只是在引用原数组,深复制才是完全独立复制。

元组(只读数组)

特殊的数组,不可以改里面的元素,一但创建就固定 。

namws=("g","2","4","dg")

它的使用只有count与index

程序练习


作业完成如下,4未实现

print("请输入工资")
YuE=int(input("工资:"))
YG=[]#已购商品
def dobuying(YuE,YG):SP=[["四叶草","300"],["PLUS大板","260"],["仿古砖","200"],["奈丝摩","210"],["微晶石","290"],["全抛釉","500"],["抛光砖","400"],["内墙砖","210"],["抛晶砖","300"]]#商品列表for i in range(1,10):print(i,SP[i-1],"\n")print("请输入编号进行购买")BH=int(input("编号:"))#输入编号print("正在购买",SP[BH-1][0],"中...")if YuE-int(SP[BH-1][1])>=0:YuE=YuE-int(SP[BH-1][1])print("已购:",SP[BH-1],"余额:",YuE)YG.append([SP[BH-1][0],SP[BH-1][1]])#成功购买else :print("余额不足")    print("继续? 按y继续,按其他字符或空则退出")G=input()if G=='y' and YuE>=200:YuE=dobuying(YuE,YG)if YuE<200:print("余额低于200,已不足最低商品价")return YuE
YuE=dobuying(YuE,YG)
print("本次已完成购买:",YG,"余额为:",YuE)

运行如下:

请输入工资
工资:990
1 ['四叶草', '300'] 2 ['PLUS大板', '260'] 3 ['仿古砖', '200'] 4 ['奈丝摩', '210'] 5 ['微晶石', '290'] 6 ['全抛釉', '500'] 7 ['抛光砖', '400'] 8 ['内墙砖', '210'] 9 ['抛晶砖', '300'] 请输入编号进行购买
编号:1
正在购买 四叶草 中...
已购: ['四叶草', '300'] 余额: 690
继续? 按y继续,按其他字符或空则退出
y
1 ['四叶草', '300'] 2 ['PLUS大板', '260'] 3 ['仿古砖', '200'] 4 ['奈丝摩', '210'] 5 ['微晶石', '290'] 6 ['全抛釉', '500'] 7 ['抛光砖', '400'] 8 ['内墙砖', '210'] 9 ['抛晶砖', '300'] 请输入编号进行购买
编号:1
正在购买 四叶草 中...
已购: ['四叶草', '300'] 余额: 390
继续? 按y继续,按其他字符或空则退出
y
1 ['四叶草', '300'] 2 ['PLUS大板', '260'] 3 ['仿古砖', '200'] 4 ['奈丝摩', '210'] 5 ['微晶石', '290'] 6 ['全抛釉', '500'] 7 ['抛光砖', '400'] 8 ['内墙砖', '210'] 9 ['抛晶砖', '300'] 请输入编号进行购买
编号:1
正在购买 四叶草 中...
已购: ['四叶草', '300'] 余额: 90
继续? 按y继续,按其他字符或空则退出
y
余额低于200,已不足最低商品价
余额低于200,已不足最低商品价
余额低于200,已不足最低商品价
本次已完成购买: [['四叶草', '300'], ['四叶草', '300'], ['四叶草', '300']] 余额为: 90

标准答案:

product_list=[
["四叶草",300],
["加大板",260],
["仿古砖",200],
["奈丝摩",210],
["微晶石",290],
["全抛釉",500],
["抛光砖",400],
["内墙砖",210],
["抛晶砖",300]
]
shopping_list=[]
salary= input ("input you salary:")
if salary.isdigit():salary=int(salary)while True:for index,item in enumerate(product_list):#print(product_list.index(item),item)print (index,item)user_choice=input("chose what do you want to buy>>>")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:#cant afford itshopping_list.append(p_item)salary-=p_item[1]print("added %s into shopping_list,you current balance is %s"%(p_item,salary))else:print("myou balance is not enough!")else:print("product code [%s] is not exist !"%user_choice)elif user_choice=='q':print ("-----shopping_list-----")for p in shopping_list:print(p)print("you current balance is",salary)exit()else:print ("invalid option")
input you salary:999
0 ['四叶草', 300]
1 ['加大板', 260]
2 ['仿古砖', 200]
3 ['奈丝摩', 210]
4 ['微晶石', 290]
5 ['全抛釉', 500]
6 ['抛光砖', 400]
7 ['内墙砖', 210]
8 ['抛晶砖', 300]
chose what do you want to buy>>>1
added ['加大板', 260] into shopping_list,you current balance is 739
0 ['四叶草', 300]
1 ['加大板', 260]
2 ['仿古砖', 200]
3 ['奈丝摩', 210]
4 ['微晶石', 290]
5 ['全抛釉', 500]
6 ['抛光砖', 400]
7 ['内墙砖', 210]
8 ['抛晶砖', 300]
chose what do you want to buy>>>1
added ['加大板', 260] into shopping_list,you current balance is 479
0 ['四叶草', 300]
1 ['加大板', 260]
2 ['仿古砖', 200]
3 ['奈丝摩', 210]
4 ['微晶石', 290]
5 ['全抛釉', 500]
6 ['抛光砖', 400]
7 ['内墙砖', 210]
8 ['抛晶砖', 300]
chose what do you want to buy>>>1
added ['加大板', 260] into shopping_list,you current balance is 219
0 ['四叶草', 300]
1 ['加大板', 260]
2 ['仿古砖', 200]
3 ['奈丝摩', 210]
4 ['微晶石', 290]
5 ['全抛釉', 500]
6 ['抛光砖', 400]
7 ['内墙砖', 210]
8 ['抛晶砖', 300]
chose what do you want to buy>>>2
added ['仿古砖', 200] into shopping_list,you current balance is 19
0 ['四叶草', 300]
1 ['加大板', 260]
2 ['仿古砖', 200]
3 ['奈丝摩', 210]
4 ['微晶石', 290]
5 ['全抛釉', 500]
6 ['抛光砖', 400]
7 ['内墙砖', 210]
8 ['抛晶砖', 300]
chose what do you want to buy>>>q
-----shopping_list-----
['加大板', 260]
['加大板', 260]
['加大板', 260]
['仿古砖', 200]
you current balance is 19

字符串

name="my name is liang"
print("1",name.capitalize())#令首字母大写
print("2",name.count("a"))#计算某字符串总数
print("3",name.center(50,"-"))
#输出50个字符,不够用后者补上,并让字符串居中
print('4',name.ljust(50,'*'))
#打印50个字符,不足在后面用*补上
print('5',name.rjust(50,'*'))
#打印50个字符,不足前面用*补上
print('6',name.zfill(50))
#打印50个字符,不足前面用0补上
print("7",name.endswith("is"))#检查是否是以“”结束,结果为布尔值。

运行如下:

1 My name is liang
2 2
3 -----------------my name is liang-----------------
4 my name is liang**********************************
5 **********************************my name is liang
6 0000000000000000000000000000000000my name is liang
7 False
names_intruduce="\t my name is liang"
print("5",names_intruduce.expandtabs(tabsize=12))#把TABS换成12个空格

name="my name is liang"
print(name.find("n"))
print(name.rfind("a"))
#寻找字母在字符串中的位置,rfind为在字符串中的最右/最左出现的该字符的位置,无lfind,find=lfind
print(name.split('a'))#按()为断开位置制作数组,断开位置的标识字符会消失
str1="\n my name is \r,\n, liang "
print(str1.splitlines(True))
print(str1.splitlines(False))
#splitlines() 按照行(’\r’, ‘\r\n’, \n’)分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符
#\n为断开位置制作数组,断开位置的标识字符会消失
print('HKjkjKKlLKJJIYUjkOHk'.swapcase())#大小写互换
name1="my name is (name) and i am (year) old"
print(name1.format(name='liang',year=23))#格式输出
print(name1.format_map({'name':'liang','year':23}))#格式化输出

运行结果如下:

3
13
['my n', 'me is li', 'ng']
['\n', ' my name is \r', ',\n', ', liang ']
['', ' my name is ', ',', ', liang ']
hkJKJkkLlkjjiyuJKohK
my name is (name) and i am (year) old
my name is (name) and i am (year) old
print ("adc123".isalnum())
#isalnum()检查是否全是英文字母或者是阿拉伯数字,有格式化都为false
print ("adc123".isalpha())#判断是否全是小写
print ("1A".isdecimal())#是否为十进制
print ("23".isdigit())#是否为数字
print ("adc123".isidentifier())#判断是否为一个合法的标识符,变量名
print ("adc".islower())#将大写改成小写
print ("adc123".isnumeric())#量是否为全数字,不含小数点的,否则False
print (" ".isspace())#是否为空格
print ("My Name Is Ti".istitle())
#是否全部单词首写都大写,与upper()反之,如果是.title是直接将全部单词首写都换大写
print ("adc123".isprintable())
#是否可打印,除开文件型的tty,drive外,正常的都可以打印
print('\nLiang\n'.lstrip())
#去除内容左边的空格与回车,rstrip为去右边的空格与回车,strip为全去掉
p = str.maketrans("abcdefghij",'1234567890')#密码库
name="liang"
print(name.translate(p))#密码转换,把name内的字符转换成相应的数字。
print(name.replace('a','@',1))#把a换成@,换1个

运行如下:

True
False
False
True
True
True
False
True
True
True
Liangl91n7
li@ng
print ("+".join("My name is Liang"))
print ("+".join(['1','2','3']))
#把join内的每个字符用前面的字符连起来

运行如下;

M+y+ +n+a+m+e+ +i+s+ +L+i+a+n+g
1+2+3

字典

注:

字典包含的是key-value(索引-数值),字典是无序的,无下标,与数值相异。通过key查找的,无序。
形如;:
——————————————————————————————

info={'xuehao1101':'xiaoming',
'xuuhao1102':'xiaoli',
'xuehao1103':'xiaohong'
}

——————————————————————————————:

运用

增减删找查

info={'xuehao1101':'xiaoming',
'xuehao1102':'xiaoli',
'xuehao1103':'xiaohong'
}
print('1',info)
info["xuehao1104"]="小红"#增加或改动某项
print('2',info)
del info["xuehao1102"]#不加下标是直接删字典,寻找的标准方式是.get('xuehao1102'),此种方法在key不存在时也不报错
print('3',info)
info.pop("xuehao1103")#.pop()必须加参数删谁,.popitem()不加参数是随意删一个
print('4',info)
print('5',info.get('xuehao1104'))#寻找
print('6','xuehao1105' in info)
#判断是否有此key,info.has_key() in py2.x

运行如下:

1 {'xuehao1101': 'xiaoming', 'xuehao1102': 'xiaoli', 'xuehao1103': 'xiaohong'}
2 {'xuehao1101': 'xiaoming', 'xuehao1102': 'xiaoli', 'xuehao1103': 'xiaohong', 'xuehao1104': '小红'}
3 {'xuehao1101': 'xiaoming', 'xuehao1103': 'xiaohong', 'xuehao1104': '小红'}
4 {'xuehao1101': 'xiaoming', 'xuehao1104': '小红'}
5 小红
6 False

.keys(),.values()等各种函数及字典的嵌套运用

.keys(),.values()

info={'xuehao1101':'xiaoming',
'xuuhao1102':'xiaoli',
'xuehao1103':'xiaohong',
'xuehao1104':'gogo',
'xuehao1105':'张三'
}
print(info.keys())
print(info.values())
info['xuehao1106']='赵四'
print(info)
info.setdefault('xuehao1107','李5')
#.setdefault(key,value),进入到目录下查看key是否存在,不存在则创建。此处会创建个四年级
print(info)

运行如下:

dict_keys(['xuehao1101', 'xuuhao1102', 'xuehao1103', 'xuehao1104', 'xuehao1105'])
dict_values(['xiaoming', 'xiaoli', 'xiaohong', 'gogo', '张三'])
{'xuehao1101': 'xiaoming', 'xuuhao1102': 'xiaoli', 'xuehao1103': 'xiaohong', 'xuehao1104': 'gogo', 'xuehao1105': '张三', 'xuehao1106': '赵四'}
{'xuehao1101': 'xiaoming', 'xuuhao1102': 'xiaoli', 'xuehao1103': 'xiaohong', 'xuehao1104': 'gogo', 'xuehao1105': '张三', 'xuehao1106': '赵四', 'xuehao1107': '李5'}
info={'一年级':{'小红老师':{'语文科代表':['学号02','学号09'],'数学科代表':['学号12','学号29'],'体育科代表':['学号32','学号49']},"小明老师":{'思政科代表':['学号03','学号03'],'英语科代表':['学号42','学号22'],'礼仪科代表':['学号36','学号46']},'小丽老师':{'美术科代表':['学号08','学号05'],'音乐科代表':['学号18','学号25'],'多媒体科代表':['学号38','学号45']}},
'二年级':{'张三老师':{'语文科代表':['学号02','学号09'],'数学科代表':['学号12','学号29'],'体育科代表':['学号32','学号49']},'李四老师':{'思政科代表':['学号03','学号03'],'英语科代表':['学号42','学号22'],'礼仪科代表':['学号36','学号46']},'周六老师':{'美术科代表':['学号08','学号05'],'音乐科代表':['学号18','学号25'],'多媒体科代表':['学号38','学号45']}},
'三年级':{'Tom老师':{'语文科代表':['学号02','学号09'],'数学科代表':['学号12','学号29'],'体育科代表':['学号32','学号49']},'GoGo老师':{'思政科代表':['学号03','学号03'],'英语科代表':['学号42','学号22'],'礼仪科代表':['学号36','学号46']},'Jenney老师':{'美术科代表':['学号08','学号05'],'音乐科代表':['学号18','学号25'],'多媒体科代表':['学号38','学号45']}}
}
info["三年级"]["GoGo老师"]["音乐科代表"]="学号66"
#插入新的key与value,这种方法适合多个key的内容插入
print(info["三年级"]["GoGo老师"])
info.setdefault("四年级","梁老师")
#.setdefault(key,value),进入到目录下查看key是否存在,不存在则创建。此处会创建个四年级
print(info)

info={'xuehao1101':'xiaoming',
'xuuhao1102':'xiaoli',
'xuehao1103':'xiaohong',
'xuehao1104':'gogo',
'xuehao1105':'张三'
}
b={'xuehao1101':'abc',
1:2,
3:5
}
info.update(b)#合并两个字典,key相当,升级values
print(info)
print(info.items())#字典转数组(列表)

运行如下:

{'xuehao1101': 'abc', 'xuuhao1102': 'xiaoli', 'xuehao1103': 'xiaohong', 'xuehao1104': 'gogo', 'xuehao1105': '张三', 1: 2, 3: 5}
dict_items([('xuehao1101', 'abc'), ('xuuhao1102', 'xiaoli'), ('xuehao1103', 'xiaohong'), ('xuehao1104', 'gogo'), ('xuehao1105', '张三'), (1, 2), (3, 5)])
c=dict.fromkeys([6,7,8])#重建字典
print(c)
c=dict.fromkeys([5,4],"liang")#重建并初始化values(相当于浅复制,key为5和4的两个value值都指向了存放liang这个值的地址)
print(d)

运行如下:

{6: None, 7: None, 8: None}
{5: 'liang', 4: 'liang'}

以下这种方法只适用于单层,当初始化的值有多层时,它是属于浅复制,在后续的数据更动会形同多人管理一个银行账号是一样的。这个初始化值相当于一人动,同步到其他人那里。

a=dict.fromkeys([1,2,3,4,5],["测试"])
print (a)
a[1]="改动key-1,数组[1],[1]的liu"
print(a)

运行如下:

多层时:数据多层同步,形如浅复制。

a=dict.fromkeys([1,2,3,4,5],[2,{"liang":"liu"},"测试"])
print (a)
a[5][1]["liu"]="改动key=1,数组[1],[1]的liu"
print(a)

运行如下:

字典循环(同列表)

info={'xuehao1101':'xiaoming',
'xuuhao1102':'xiaoli',
'xuehao1103':'xiaohong',
'xuehao1104':'gogo',
'xuehao1105':'张三'
}
for i in info:print(i,info[i])#i为key

运行如下:

xuehao1101 xiaoming
xuuhao1102 xiaoli
xuehao1103 xiaohong
xuehao1104 gogo
xuehao1105 张三

作业

购物车优化
购物车:
用户入口:
1. 商品信息存在文件里
2. 已购商品,余额记录(永久保存,下次进入还在)
商家入口:
1. 可以添加商品,修改商品价格。

import getpass
_username="liang"
_password="12345";
count=0
YG=[]#已购商品
def dobuying(YuE,YG):if YuE<200:print("请输入工资")YuE=int(input("工资:"))+YuEprint ("当前余额:",YuE)else :print ("当前余额:",YuE)SP=[["四叶草","300"],["PLUS大板","260"],["仿古砖","200"],["奈丝摩","210"],["微晶石","290"],["全抛釉","500"],["抛光砖","400"],["内墙砖","210"],["抛晶砖","300"]]#商品列表for i in range(1,10):print(i,SP[i-1],"\n")print("请输入编号进行购买")BH=int(input("编号:"))#输入编号print("正在购买",SP[BH-1][0],"中...")if YuE-int(SP[BH-1][1])>=0:YuE=YuE-int(SP[BH-1][1])if YuE<200:i=0print("已购:",SP[BH-1],"余额:",YuE)YG.append([SP[BH-1][0],SP[BH-1][1]])#成功购买else :print("余额不足")    print("继续? 按y继续,按其他字符或空则退出:")G=input()if G=='y' and YuE>=200:YuE=dobuying(YuE,YG)elif G!='y' and YuE>=200 :print("本次已完成购买:",YG,"余额为:",YuE)else :print("余额低于200,已不足最低商品价")print("本次已完成购买:",YG,"余额为:",YuE)return YuEprint("本次已完成购买:",YG,"余额为:",YuE)
while count<3:username=input("username:");password=getpass.getpass("password:");if _username==username and _password==password:print("欢迎使用,{name}".format(name=username))YuE=dobuying(YuE,YG)break;else :print ("用户名或密码错误")if count==2:print ("尝试次数已达3次")count+=1;

首次交易:如下

username:liang
password:········
欢迎使用,liang
请输入工资
工资:1000
当前余额: 1000
1 ['四叶草', '300'] 2 ['PLUS大板', '260'] 3 ['仿古砖', '200'] 4 ['奈丝摩', '210'] 5 ['微晶石', '290'] 6 ['全抛釉', '500'] 7 ['抛光砖', '400'] 8 ['内墙砖', '210'] 9 ['抛晶砖', '300'] 请输入编号进行购买
编号:1
正在购买 四叶草 中...
已购: ['四叶草', '300'] 余额: 700
继续? 按y继续,按其他字符或空则退出:
y
当前余额: 700
1 ['四叶草', '300'] 2 ['PLUS大板', '260'] 3 ['仿古砖', '200'] 4 ['奈丝摩', '210'] 5 ['微晶石', '290'] 6 ['全抛釉', '500'] 7 ['抛光砖', '400'] 8 ['内墙砖', '210'] 9 ['抛晶砖', '300'] 请输入编号进行购买
编号:1
正在购买 四叶草 中...
已购: ['四叶草', '300'] 余额: 400
继续? 按y继续,按其他字符或空则退出:
q
本次已完成购买: [['四叶草', '300'], ['四叶草', '300']] 余额为: 400

第二次入账户购买:

username:liang
password:········
欢迎使用,liang
当前余额: 400
1 ['四叶草', '300'] 2 ['PLUS大板', '260'] 3 ['仿古砖', '200'] 4 ['奈丝摩', '210'] 5 ['微晶石', '290'] 6 ['全抛釉', '500'] 7 ['抛光砖', '400'] 8 ['内墙砖', '210'] 9 ['抛晶砖', '300'] 请输入编号进行购买
编号:1
正在购买 四叶草 中...
已购: ['四叶草', '300'] 余额: 100
继续? 按y继续,按其他字符或空则退出:
y
余额低于200,已不足最低商品价
本次已完成购买: [['四叶草', '300']] 余额为: 100

第三次进入购买:

username:liang
password:········
欢迎使用,liang
请输入工资
工资:500
当前余额: 600
1 ['四叶草', '300'] 2 ['PLUS大板', '260'] 3 ['仿古砖', '200'] 4 ['奈丝摩', '210'] 5 ['微晶石', '290'] 6 ['全抛釉', '500'] 7 ['抛光砖', '400'] 8 ['内墙砖', '210'] 9 ['抛晶砖', '300'] 请输入编号进行购买
编号:1
正在购买 四叶草 中...
已购: ['四叶草', '300'] 余额: 300
继续? 按y继续,按其他字符或空则退出:
q
本次已完成购买: [['四叶草', '300']] 余额为: 300

Python学习笔记Day 2相关推荐

  1. [python教程入门学习]python学习笔记(CMD执行文件并传入参数)

    本文章向大家介绍python学习笔记(CMD执行文件并传入参数),主要包括python学习笔记(CMD执行文件并传入参数)使用实例.应用技巧.基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋 ...

  2. python学习笔记之编写readConfig读写配置文件

    python学习笔记之编写readConfig读写配置文件_weixin_34055910的博客-CSDN博客

  3. Python学习笔记(十一)

    Python学习笔记(十一): 生成器,迭代器回顾 模块 作业-计算器 1. 生成器,迭代器回顾 1. 列表生成式:[x for x in range(10)] 2. 生成器 (generator o ...

  4. Python学习笔记一简介及安装配置

    Python学习笔记一 参考教程:廖雪峰官网https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e54 ...

  5. python学习笔记目录

    人生苦短,我学python学习笔记目录: week1 python入门week2 python基础week3 python进阶week4 python模块week5 python高阶week6 数据结 ...

  6. Python学习笔记(二):标准流与重定向

    Python学习笔记(二):标准流与重定向 - SamWei - 博客园 Python学习笔记(二):标准流与重定向 Posted on 2012-02-19 22:36 SamWei 阅读(176) ...

  7. python 学习笔记 12 -- 写一个脚本获取城市天气信息

    近期在玩树莓派,前面写过一篇在树莓派上使用1602液晶显示屏,那么可以显示后最重要的就是显示什么的问题了. 最easy想到的就是显示时间啊,CPU利用率啊.IP地址之类的.那么我认为呢,假设可以显示当 ...

  8. python基本语法语句-python学习笔记:基本语法

    原标题:python学习笔记:基本语法 缩进:必须使用4个空格来表示每级缩进,支持Tab字符 if语句,经常与else, elif(相当于else if) 配合使用. for语句,迭代器,依次处理迭代 ...

  9. 廖Python学习笔记一

    1. 廖Python学习笔记 大的分类 如函数 用二级标题,下面的用三级 如输入输出 1.1.1. 输入输出 1.1.1.1. 输出 用 print() 在括号里加上字符串,就可以向屏幕上输出指定的文 ...

  10. Python学习笔记(六)

    1. IO编程 1.1 文件读写 1.2 StringIO和BytesIO 1.3 操作文件和目录 1.4 序列化 2. 进程和线程 2.1 多进程 2.2 多线程 2.3 ThreadLocal 2 ...

最新文章

  1. 使用Nucleus SE实时操作系统
  2. R密度聚类之DBSCAN模型
  3. cv2.imread()用法,注意 第一个参数为图片路径
  4. torch.nn.Linear
  5. 在 Mac 上多开微信,还能看到朋友撤回的信息:WeChatTweak
  6. java setcharat,Java StringBuffer setCharAt()方法
  7. linux下的加密解密学习
  8. ORA-00257: archiver error
  9. 【转】第00课导读:生活中的设计模式——启程之前,请不要错过我
  10. oracle去除表中字段中特殊符号('tab','空格','换行符','回车')——目前没找到可以一次性替换表中所有异常数据的方法,只能对字段逐一去除,如果有还希望留言赐教
  11. python中、函数定义可以不包括以下_python函数定义精讲
  12. java graham_Graham Scan凸包算法
  13. CAD图纸的保存格式DWG DWF DXF互相转换是怎么操作的?
  14. 华为IE和思科IE哪个好?
  15. 图片放大以后不清晰怎么办?
  16. Android颜色透明度(不透明度)
  17. RTP 发送PS流工具(已经开源)
  18. TRecgNet:基于转换识别网络进行RGB-D场景识别
  19. 李翰卿治疗小儿五更咳嗽经验
  20. 2022年全球市场软铁氧体粉末总体规模、主要生产商、主要地区、产品和应用细分研究报告

热门文章

  1. 飞机那么贵,为什么连个电动门都没有,还需要空姐推?
  2. 同舟康泰,我心中的香巴拉!
  3. c语言嵌套结构体大小,C语言结构体嵌套
  4. ug在哪看服务器运行,ug的服务器怎么打开?
  5. MFC界面库BCGControlBar v32.1 - 支持Visual Studio 2022
  6. oppop r1c怎么设置语言中文,OPPO R1 用起来怎么样?我们的读者给出了答案
  7. Javascript草稿纸
  8. HTML+CSS之找茬
  9. cv2 Grabcut图像分割
  10. ioremap执行过程