Python从零开始之Day2

运算符:

算数运算:

+  加号           %  取余数           

-  减号           **  幂              

*  乘号           /  除号         

比较运算:

==  等于          !=  不等于       

<>  不等于      >  大于  >=  大于等于  <  <=

 

赋值运算:

=  简单的赋值符号

+=  加法赋值符号  例:c+=a  ==>  c=c+a

-=  减法赋值符号  例c-=a  ==>  c=c-a

*=  乘法赋值符号

/=  除法赋值符号

%=  (取模)取余数赋值符号

**=  幂赋值符号

//=  取整数赋值符号

逻辑运算:

And

Or

not

成员运算:

in  

Not in

身份运算:

is 

Is not

二进制运算:

&  and运算(逢二进一)    60 & 13 = 12  

|  or运算     60 | 13 = 61

^  按位异或运算(or相反,不同为1,相同为0)   60 ^ 13 = 49

~  按位取反(0变1,1变0,有特殊算法,不用知道)

<< 左移

>> 右移

转换字符      

\’           输出’

\”           输出”

\a            响一声

\b            退格

\f            换页(在打印时)

\n            回车,在光标下一行

\r            换行,在光标上一行

\t            八个空格

\\            输出\

三元运算

1 while True:
2     c = a if count>5 else b   # 三元运算
3     count += 1
4     if count == 10:
5         break
6     print("c:",c)
三元运算

列表

切片

1 names=["xiaoming","xiaohong","xiaolv","xiaozi"]
2 print(names[0:4])         #(左闭右开)包括0号,不包括4号
3 print(names[-1])          #倒着取、
4 print(names[0:-1])
5 print(names[0:])          #全取
6 print(names[:4])
7 print(names[0:-1:2])      #相隔切片,类似range
8 print(names[::2])         #全选可胜率0
切片

追加

1 names=["xiaoming","xiaohong","xiaolv","xiaozi"]
2 names.append("xiaohei")    #直接插在末尾
3 print(names)
4 names.insert(2,"xiaobai")  #插在指定位置
5 print(names)
6 names[2] = "xiao blue"     #替换原值
7 print(names)
追加

删除

1 names=["xiaoming","xiaohong","xiaolv","xiaozi""xiaored""xiaoblue"]
2 
3 names.remove("xiao blue")  #按名字删除
4 
5 del names[4]               #删除指定位置
6 
7 names.pop()                #默认删除最后一个,输入数值既等同DEL
删除

其他

1 names=["xiaoming","xiaohong","xiaolv","xiaozi","xiaohei","xiaobai","xiaoblue"]
2 
3 names.index("xiaohong")    #索引,查找目标位置
4 
5 names.count("xiaoming")     #查找数量
6 
7 names.clear()                      #清空列表
其他1
1 names=["xiaoming","xiaohong","xiaolv","xiaozi"]
2 
3 names.reverse()                    #反转
4 
5 names.sort()                       #排序(特殊符号、数字、大写、小写)
其他2
1 names1=["xiaohong","xiaoli","xiaohei"]
2 
3 names2=["##@","!!!","4444"]
4 
5 names.extend(names2)               #合并
6 
7 del names2                         #删除变量
其他3

浅copy与深copy

1 import copy                              
2 
3 names=["xiaoming","xiaohong","xiaolv","xiaozi"]
4 
5 names.insert(2,["O","X","L","g"])         #列表中可包含子列表
6 
7 names2=copy.copy(names) #浅copy,最内层会被后面的变化所影响
8 
9 names3=copy.deepcopy(names)  #深copy只会copy之前的数据,不会被后来的变化所影响
copy

字符串操作

 1 name ="xing\t{plg}ptao"        #\t默认空格数是8
 2 
 3 name.capitalize()                   #首字母大写
 4 
 5 name.count("x")                    #查询某字符数量
 6 
 7 name.center(30,"-")
 8 #一共打印30个字符,中间为name,不够的用-补上
 9 
10 name.ljust(50,"*")                   
11 #一共打印50个字符,不够在结尾用*补上
12 
13 name.rjust(50,"_")                   
14 #一共答应50个字符,不够再开头加上
15 
16 name.zfill(50)                      
17 #位数不够前头补0,一般用于16进制补0用
18 
19 name.encode(encoding="utf-8")       #转换成二进制
20 
21 name.endswith("tao")       #判断字符串以什么结尾
22 
23 name.find("g")        #索引,找不到字符会输出-1
24 
25 name.rfind("p")      #索引,找到最右边值的下标
26 
27 name[7:8]              #切片
28 
29 name.format(plg="OXMLG")             #格式化
30 
31 name.format_map({'plg':'OXMLG'})     #字典形式的格式化
32 
33 name.index("g")     #索引,找不到字符会报错
34 
35 "ma12".isalnum()       #是否为阿拉伯字符(数字和字母)
36 
37 "name".isalpha()          #纯英文
38 
39 "123".isdecimal()          #十进制
40 
41 "12".isdigit()               #整数
42 
43 "name".isidentifier()   
44 #判断是不是一和合法的标识符(是不是合法的变量名字)
45 
46 name.islower()           #是不是小写
47 
48 "  ".isspace()          #是不是空格
49 
50 "My Name Is".istitle()   #字符首字母都大写
51 
52 "UUSSW".isupper()       #是否都为大写
53 
54 '+'.join(("1","2","3"))             
55 #将字符串插在元组或列表中所有每两和值的中间
56 
57 "ADDS".lower()    #大写变小写
58 
59 name.upper()      #小写变大写
60 
61 name.replace("n","7",10)     #替换,第三个数字代表只替换前X个
62 
63 "1+2+3+7".split('+')     #把某个字符或空格当成分隔符,并形成列表
64 
65 "1+2\n3+4".splitlines()     #把换行当成分隔符,形成列表
66 
67 name.startswith("i",1,10)   #检测字符串开头字母是否正确,可切片
68 
69 "sdaDSA111".swapcase()      #大写变小写
70 
71 "xing tao o x Lg".title()      #开头字母大写    
字符串操作

字典

 1 info={                                            
 2     "student1":"xingtao",
 3     "student2":"suiqiaoli",
 4     "student3":"fangfayong",
 5     "student4":"lidongshen"
 6 }
 7 
 8 info["student1"]      #查找
 9 
10 info.get("student5")       #查找,没有不会报错
11 
12 info["student1"]="tao xing"        #替换值
13 
14 info["student5"]="666"       #添加键及值
15 
16 del info["student5"]             #删除
17 
18 info.pop("student5")          #删除
19 
20 info.popitem()                #随机删除一项
21 
22 "student3" in info            #判断是否存在键值
View Code
 1 info={
 2     "student1":"xingtao",
 3     "student2":"suiqiaoli",
 4     "student3":"fangfayong",
 5     "student4":"lidongshen"
 6 }
 7 
 8 b={"student1":"tao xing",
 9    "student(5)":"123",
10    "student(6)":"567"
11 }
12 
13 info.update(b)       #合并,若建值交叉则更新,不交叉直接合并
14 
15 info.items()        #把字典变成列表
字典2
 1 name ={                               
 2     "xingtao":{
 3         "xing":["x","i","n","g"],
 4         "tao":["t","a","o"]
 5     },
 6     "suiqiaoli":{
 7         "sui":["s","u","i"],
 8         "qiao":["q","i","a","o"],
 9         "li":["l","i"]
10     }
11 }
12 
13 name["suiqiaoli"]["qiao"][3]="OOOOO" 
14 #添加,若键值已存在,则顶替
15 
16 name.values()
17 #输出所有值,不输出键
18 
19 name.setdefault("fangfayong",{"fang":["f","a","n","g"],"fa":["f","a"],"yong":["y","o","n","g"]}) 
20 #创建一个字典
嵌套

低级购物车

商品列表

Python从零开始之Day2_第1张图片

用户信息

Python从零开始之Day2_第2张图片

 1 #购物车
 2 #1、商品信息存在文件里,想办法读出来变成列表形式
 3 #2、可以添加、修改商品价格
 4 #3、把商家的权限写成一个单独的程序
 5 #4、信息被存储,已购商品、余额记录信息长时间留存、只有第一次启动需#要输入金额,之后自动检测金额还剩多少,买的东西都已经记录
 6 with open("商品列表.txt","r",encoding="utf-8")as goods_file,\
 7     open("用户信息.txt","r+",encoding="utf-8")as user_file:
 8     while True:
 9         user_lists = []  # 用户清单
10         goods_lists = []  # 商品列表
11 
12 
13         def user_list():  # 生成用户清单
14             m = user_file.readline().strip("\n").split(',')
15             if not m == [""]:
16                 user_lists.append(m)
17                 return user_list()
18 
19 
20         user_list()
21         print(user_lists)
22         if user_lists == []:
23             user_money = input("please write your money:")#第一次输入钱
24             if not user_money.isdigit():
25                 print("money is wrong")
26                 continue
27             user_money = int(user_money)
28             user_lists.insert(0, ["money:", user_money])
29             user_file.write("money:,%s"%user_money)
30         else:
31             user_money=int(user_lists[0][1])
32 
33         def goods_list():  # 生成商品列表
34             a = goods_file.readline().strip('\n').split(',')
35             if not a == [""]:
36                 goods_lists.append(a)
37 
38                 return goods_list()
39 
40 
41         goods_list()
42 
43         for n, goods in enumerate(goods_lists):
44             print(n, goods[0], "price:", goods[1])
45         choose = input("请输入要购买的商品编号:")  # 输入商品编号
46         if choose.isdigit():
47             choose = int(choose)
48             if choose > goods_lists.index(goods_lists[-1]) and choose < 0:
49                 print("没有该商品")
50                 continue
51         else:
52             print("请输入正确商品编号")
53             continue
54 
55         if int(user_lists[0][1]) >= int(goods_lists[choose][1]):  # 扣钱
56             user_money -= int(goods_lists[choose][1])
57             user_lists[0][1]= user_money
58             user_lists.append(goods_lists[choose])  #写入列表中
59             print(user_lists)
60             break
61 
62         else:
63             print("余额不足")
64             exit()
65             print(user_lists)
66 
67 with open("用户信息.txt","w+",encoding="utf-8") as user_file:
68     for nember,user_goods in enumerate(user_lists):
69         if  nember == 0:
70             user_file.write("%s,%s" % (user_goods[0], user_goods[1]))  # 写入已购买
71         else:
72             user_file.write("\n%s,%s" % (user_goods[0], user_goods[1]))
买家入口
 1 with open("商品列表.txt","r",encoding="utf-8") as goods_file1:
 2     goods_lists=[]    #商品列表
 3     while True:
 4         def goods():
 5             goods_list = goods_file1.readline().strip("\n").split(",")
 6             if not goods_list == [""]:
 7                 goods_lists.append(goods_list)
 8                 return goods()
 9 
10 
11         goods()
12         print("------商品列表:------")
13         for nember, good in enumerate(goods_lists):
14             print(nember, good[0], "price:", good[1])  # 打印商品列表
15         user_do = input("修改、添加还是删除?")
16         if user_do == "修改":
17             user_do_x1 = input("修改商品名字还是价格?")
18             if user_do_x1 == "名字":
19                 user_do_x1_1 = input("请输入商品序号:")
20 
21                 if user_do_x1_1.isdigit() and int(user_do_x1_1) >= 0 and \
22                         int(user_do_x1_1) <= goods_lists.index(goods_lists[-1]):
23                     user_do_x1_1 = int(user_do_x1_1)
24                     user_do_x1_2 = input("修改后名字:")
25                     goods_lists[user_do_x1_1][0] = user_do_x1_2
26                     break
27                 else:
28                     print("商品错误")
29                     continue
30             elif user_do_x1 == "价格":
31                 user_do_x1_1 = input("请输入商品序号:")
32 
33                 if user_do_x1_1.isdigit() and int(user_do_x1_1) >= 0 and \
34                         int(user_do_x1_1) <= goods_lists.index(goods_lists[-1]):
35                     user_do_x1_1 = int(user_do_x1_1)
36                     user_do_x1_2 = input("修改后价格:")
37                     goods_lists[user_do_x1_1][1]=user_do_x1_2
38                     break
39                 else:
40                     print("商品错误")
41             else:
42                 print("执行错误")
43                 continue
44         elif user_do == "添加":
45             user_do_t1 = input("请输入商品名称:")
46             user_do_t2 = input("请输入商品价格:")
47             if user_do_t2.isdigit:
48                 goods_lists.append([user_do_t1,user_do_t2])
49                 break
50             else:
51                 print("请输入正确的商品价格")
52                 continue
53         elif user_do == "删除":
54             user_do_s1=input("请输入商品序号")
55             if user_do_s1.isdigit():
56                 user_do_s1=int(user_do_s1)
57                 del goods_lists[user_do_s1]
58                 break
59             else:
60                 print("请输入正确的商品序号")
61                 continue
62         else:
63             print("操作错误")
64             continue
65         print(goods_lists)
66 with open("商品列表.txt","w+",encoding="utf-8") as goods_file2:        #写入文件
67     for  good_2 in goods_lists:
68         if good_2 == goods_lists[-1]:
69             goods_file2.write("%s,%s"%(good_2[0],good_2[1]))          #最后一件不换行
70         else:
71             goods_file2.write("%s,%s\n"%(good_2[0],good_2[1]))
商家入口

 

转载于:https://www.cnblogs.com/xt112233/p/9487702.html

你可能感兴趣的:(Python从零开始之Day2)