1 # 1. 打印图案
2 # 1)
3 for i in range(1,6):
4 for j in range(1,i+1):
5 print('*',end='')
6 print('')
7
8 # 2)
9 for i in range(5,0,-1):
10 for j in range(i,0,-1):
11 print('*',end='')
12 print('')
13
14 # 3)
15 for i in range(1,10,2):
16 s='*'*i
17 print(s.center(9))
18
19
20 # 2. 将日志文件读取到不同的小文件中
21
22 # 想复杂了,很多没有用到
23 import os
24 def func(a1):
25 with open(a1,mode='r',encoding='utf-8') as f1:
26 time=[]
27 for line in f1:
28 li = line.split()
29 time.append(li[0])
30 for m in time:
31 if li[0] == m:
32 with open(li[0],mode='a',encoding='utf-8')as f3:
33 f3.write(line)
34 print('')
35 break
36 else:
37 with open(a1,mode='a',encoding='utf-8') as f2:
38 f2.write(line)
39 print('')
40 os.rename(a1+'副本',li[0])
41 func('a1')
42
43
44 # 方法二 简单化
45 import os
46 def func(a1):
47 with open(a1,mode='r',encoding='utf-8')as f:
48 for line in f:
49 li = line.split()
50 with open(li[0], mode='a', encoding='utf-8')as f3: #直接写入文件中即可
51 f3.write(line)
52 print('')
53 func('a1')
54
55
56 # 3.
57
58 def regist(): #注册
59 my_username = input('请输入用户名:')
60 my_password = input('请输入密码:')
61 if my_username == ' ' or my_password == ' ':
62 print('输入用户名不合法,请重新输入!')
63 return
64 else:
65 with open('a2',mode='a+',encoding='utf-8')as f:
66 f.seek(0)
67 li = f.readlines()
68 for el in li:
69 el=el.split(':')
70 if my_username == el[0]:
71 print('用户名已存在,请重新输入!')
72 f.close()
73 return
74 else:
75 f.write(my_username+':'+my_password+'\n')
76 f.flush()
77 f.close()
78 print('注册成功!')
79 return
80 m = 0 #用于记录登录是否成功 1(成功) -1(不成功)
81 def login(): #登录
82 global m
83 m = 0
84 for i in range(3,0,-1):
85 my_username = input('请输入用户名:')
86 my_password = input('请输入密码:')
87 with open('a2',mode='r',encoding='utf-8')as f:
88 li = f.readlines()
89 for el in li:
90 lis = el.strip().split(':') #strip() 去掉'\n'符号
91 if my_username == lis[0] and my_password == lis[1]:
92 print('登陆成功!')
93 m = m+1
94 return
95 else:
96 print('登录失败,剩余次登录次数为%s'%(i-1))
97 else:
98 m = m-1
99 return
100
101 def shopping(zichan): #购物
102 goods = [
103 {"name": "电脑", "price": 1999},
104 {"name": "鼠标", "price": 10},
105 {"name": "游艇", "price": 20},
106 {"name": "美女", "price": 998},
107 ]
108 sum=0 #计算商品总额
109 shop={} # 索引 数量
110 if zichan.isdigit(): # 判断输入的是数字
111 while 1:
112 for i in goods:
113 i_index = goods.index(i)
114 print(i_index+1,i['name'],i['price']) # 打印商品菜单
115 xu_hao = input('请用户选择商品的序号(N(结算) Q(退出结算))):')
116 if xu_hao.upper() == 'Q': #暂不结算
117 break
118 elif xu_hao.isdigit() and 0 < int(xu_hao) < len(goods)+1: #选择商品
119 id=int(xu_hao)-1
120 print(goods[id]['name'],goods[id]['price']) #打印选择的商品
121 if shop.get(id) ==None :
122 shop[id] =1
123 else:
124 shop[id] = shop[id]+1
125 elif xu_hao.upper() == 'N': #结算
126 for i in shop: # i为idex
127 sum = sum + shop[i]*goods[i]['price']
128 if int(zichan) >= sum:
129 for i in shop:
130 print('购买的商品为%s,单价为%s,数量为%s'%(goods[i]['name'],goods[i]['price'],shop[i]))
131 print('商品总额为%s,剩余额度为%s.'%(sum,int(zichan)-sum,))
132 return
133 else:
134 print('账户余额不足!')
135 break
136 else:
137 print('输入有误,请重新输入!')
138 else:
139 print('输入有误,请重新输入!')
140
141
142 while 1:
143 print('''欢迎进入老男孩系统:
144 1. 登录
145 2. 注册
146 3. 购物
147 4. 退出
148 ''')
149 content=input('请选择菜单:')
150 if content == '1':
151 print('1. 登录')
152 login()
153 if m == -1:
154 break
155 elif content == '2':
156 print('2. 注册')
157 regist()
158 elif content == '3':
159 print('3. 购物')
160 if m == 1: #购物成功时
161 money = input('请输入你的资产:')
162 shopping(money)
163 else:
164 print('您未登录系统,请先登录!')
165 elif content == '4':
166 print('4. 退出')
167 break
168 else:
169 print('输入错误,请重新输入!')