1.随机生成多少位的密码保存在文本内。

import random,string f = open('C:\Users\Administrator\Desktop\new.txt', 'a+') # a 追加写,不会请求,打开的文件不存在的话,也会帮你新建一个文件r+ 读写模式 # w+ 写读模式 # a+ 追加读模式 upperStr = string.ascii_uppercase #string 大写字母 lowerStr = string.ascii_lowercase #string 小写字母 digitStr = string.digits #string 数字 specialStr = string.punctuation #string 特殊数字 allStr = upperStr+lowerStr+digitStr+specialStr #产生密码所需要的字符集 f.seek(0)#把指针移动到第一位 all_password = [] #这个函数是无限循环产生对应的数 def pw1(): while True: #True 表示无限循环 pw = ''.join(random.sample("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.1234567890!@#$%^&*()+=-><:",random.randint(8, 16))) #随机生成8到16位的字符,可以把需要的数字全部填写在里面 if pw not in all_password: not(f.write(pw +' '))#写入到文件内 Num = 1# 输入要产生密码的次数: def pws(): for i in range(Num): pwdLen = random.randint(6,11) # print(pwdLen) # 随机生成密码的长度 pwd1 = random.choice(upperStr) + random.choice(digitStr) + random.choice(lowerStr) + random.choice(specialStr) #随机密码必须包含的四个字符:大写字母,小写字母,数字,特殊字符 pwdRan = random.sample(allStr,pwdLen-4) #除去4个字符外,随机从字符集中取出剩下所需要的字符 pwd2 = "".join(pwdRan)# 并将该List转化为字符串 pwd = pwd1+pwd2 # 最终生成的随机密码 f.write(pwd+' ') f.flush() f.close() pws()
2.随机生成双色球

import random def seq(): qiu = [] while True: hong = random.randint(1,33) #产生一个随机红球 if hong in qiu: continue #跳过本次循环 qiu.append(hong) #把红色号码添加到列表 if len(qiu)==6: break qiu.sort() lan = random.randint(1,16) #产生一个随机篮球 s = "" for i in qiu: s = s+"%02d " %i #02d表示是2位数的整数,个数自动补0 print(s+"+ "+"%02d" %lan) seq()
3.连续输入几次用户名或密码判断

import datetime def xunhan(): for i in range(3): username = input('请输入你的用户名:').strip() password = input('请输入你的密码:').strip()#strip 去除为空的情况 if username=='xiaoming' and password == '123456': print('欢迎%s登陆,今天的日期是%s'%(username,datetime.datetime.today())) break elif username=='' or password =='': print('账号和密码都不能为空!') else: print('账号/密码错误') else: print('错误次数过多') def xunhuan1(): count = 0 while count<3: count += 1 username = input('请输入你的用户名:').strip() password = input('请输入你的密码:').strip() if username=='tanailing' and password == '123456': print('欢迎%s登陆,今天的日期是%s'%(username,datetime.datetime.today())) break elif username=='' or password =='': print('账号和密码都不能为空!') else: print('账号/密码错误') else: print('错误次数过多')
4.注册:账号和密码存在文件里面,从文件里面读取数据判断是否已经存在

f = open('C:\Users\Administrator\Desktop\new.txt','a+') f.seek(0) res = f.read() def zhuce(): all_user_name = [] #存放所有的用户名 for r in res.split(' '): # ['username,123456', 'username2,abc123'] #'username,123456' [username, 123456] username = r.split(',')[0] all_user_name.append(username) for i in range(3): username = input('username:').strip() pwd = input('pwd:').strip() cpwd = input('cpwd:').strip() if not (len(username)>=6 and len(username)<=20): # if len(username)<=6 and len(username)>=20: print('用户名长度不合法') elif not (len(pwd)>=8 and len(pwd)<=20): print('密码长度不合法') elif pwd!=cpwd: print('两次输入的密码不一致') elif username in all_user_name: print('用户名已经被注册') else: user_info = '%s,%s '%(username,pwd) f.write(user_info) print('注册成功!') break else: print('错误次数过多') f.close() zhuce()
5.商品管理(添加,删除,修改,查询)

"""作业: 1、实现一个商品管理的程序。 #输出1,添加商品 2、删除商品 3、查看商品 添加商品: 商品的名称:xxx 商品如果已经存在的话,提示商品商品已经存在 商品的价格:xxxx 数量只能为大于0的整数 商品的数量:xxx,数量只能为大于0的整数 2、删除商品: 输入商品名称: iphone 如果输入的商品名称不存在,要提示不存在 3、查看商品信息: 输入商品名称: iphone: 价格:xxx 数量是:xxx all: print出所有的商品信息 ''' import json def get_file_content(): with open(FILENAME,encoding='utf-8') as f : content = f.read() if len(content)>0: res = json.loads(content) else: res = {} return res def write_file_content(dic): with open(FILENAME,'w',encoding='utf-8') as fw: json.dump(dic,fw,indent=4,ensure_ascii=False) def check_digit(st:str): if st.isdigit(): st = int(st) if st > 0: return st else: return 0 else: return 0 def add_product(): product_name = input('请输入商品名称:').strip() count = input('请输入商品数量:').strip() price = input('请输入商品价格:').strip() all_products = get_file_content() if check_digit(count) == 0: print('数量输入不合法') elif check_digit(price) == 0: print('价格输入不合法') elif product_name in all_products: print('商品已经存在') else: all_products[product_name] = {"count":int(count), "price":int(price)} write_file_content(all_products) print('添加成功!') def show_product(): product_name = input('请输入要查询的商品名称:').strip() all_products = get_file_content() if product_name=='all': print(all_products) elif product_name not in all_products: print('商品不存在') else: print(all_products.get(product_name)) def del_product(): product_name = input('请输入要删除的商品名称:').strip() all_products = get_file_content() if product_name in all_products: all_products.pop(product_name) print('删除成功') write_file_content(all_products) else: print('商品不存在') choice = input('请输入你的选择: 1、添加商品 2、删除商品 3、查看商品信息:') if choice == "1": add_product() elif choice == "2": del_product() elif choice == "3": show_product() else: print('输入错误,请重新输入!')
6.把excel内的文字转换为拼音
例如把“xxxx.xls中的汉字人名转成用户名,写到后面的单元格中,excel在群文件
例如:中国-王小明 : zg_wangxiaoming

import xpinyin,xlrd,string from xlutils.copy import copy book = xlrd.open_workbook(r'xxxxxxxxx.xls') sheet = book.sheet_by_index(0) p = xpinyin.Pinyin() new_book = copy(book) # 拷贝一分原来的Excel new_sheet = new_book.get_sheet(0) # 获取sheet页 for i in range(1,sheet.nrows): name = sheet.row_values(i)[0] name_pinyin = p.get_pinyin(name,'') name_pinyin = name_pinyin.replace('wangluo','wl').replace('xianchang','xc').replace('cengke','ck') for n in name_pinyin: if n not in string.ascii_lowercase:#判断如果不是字母的话,就替换 res = name_pinyin.replace(n,'_') #ck__liuwei xhx_count = res.count('_')#取下划线的个数 if xhx_count>1:#判断下划线如果大于1,就把多个下划线替换成一个下划线 res = res.replace('_'*xhx_count,'_') new_sheet.write(i,1,res)#写 new_book.save(r'xxxxxxxx')
7.删除空文件

import os for cur_dirs,dirs,files in os.walk(r"F:jmter测试数据"): print(cur_dirs,dirs,files) #三个值分别代表:文件地址,文件夹,文件 if len(files)==0 and len(dirs)==0: #判断文件和文件夹是否为空 os.rmdir(cur_dirs)#这里删除不能直接用os.remove,会直接报权限问题
8.循环练习题

import random num = random.randint(1,100)#随机获取之间的数字 print(num) count = 0 while count<3:#定义循环的次数 count+=1 guess = int(input("请输入一个数字:")) if guess>num: print("大了") elif guess == num: print("猜对了") break #当猜对了这里就直接结束整个循环 #如果是“continue” 就是结束当前的循环,继续执行下一个循环 else: print("小了") else: print("猜的次数过多,游戏结束")