1.隨機生成多少位的密碼保存在文本內。git
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 +'\n'))#寫入到文件內 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+'\n') f.flush() f.close() pws()
2.隨機生成雙色球json
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.連續輸入幾回用戶名或密碼判斷app
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.註冊:帳號和密碼存在文件裏面,從文件裏面讀取數據判斷是否已經存在dom
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('\n'): # ['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\n'%(username,pwd) f.write(user_info) print('註冊成功!') break else: print('錯誤次數過多') f.close() zhuce()
5.商品管理(添加,刪除,修改,查詢)iphone
"""做業: 一、實現一個商品管理的程序。 #輸出1,添加商品 二、刪除商品 三、查看商品 添加商品: 商品的名稱:xxx 商品若是已經存在的話,提示商品商品已經存在 商品的價格:xxxx 數量只能爲大於0的整數 商品的數量:xxx,數量只能爲大於0的整數 二、刪除商品: 輸入商品名稱: iphone 若是輸入的商品名稱不存在,要提示不存在 三、查看商品信息: 輸入商品名稱: 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('請輸入你的選擇:\n 一、添加商品 二、刪除商品 三、查看商品信息:') if choice == "1": add_product() elif choice == "2": del_product() elif choice == "3": show_product() else: print('輸入錯誤,請從新輸入!')
6.把excel內的文字轉換爲拼音ide
例如把「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.刪除空文件spa
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.循環練習題3d
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("猜的次數過多,遊戲結束")