每天一python 題 0002

2021-08-08 06:53:00 字數 1567 閱讀 1051

第 0002 題:

將 0001 題生成的 200 個啟用碼(或者優惠券)儲存到 

mysql

關係型資料庫中。

涉及的內容:python操縱mysql資料庫,推薦慕課網的相關課程;

作業**如下:

#coding:utf-8

import pymysql

import random,string

conn=pymysql.connect(

host='127.0.0.1'

,port=3306

,user='root'

,passwd='ylcsql'

,db='imooc'

,charset='utf8'

)cursor=conn.cursor()

def

create_sql():

try:

sql_create="create table if not exists

\coupon200(id int primary key auto_increment,coupon varchar(25))"

cursor.execute(sql_create)

except

exception

as e:

raise

exception("

建立失敗

")def

get_coupon(nums,lens):

# nums:

生成總數

# lens:

啟用碼長度

try:

sam = string.ascii_letters + string.digits

for x in

range(nums):

coupon=random.sample(sam, lens)

coupon="".join(coupon) #

合併cursor.execute("insert into coupon200(coupon) values(%s);"

,[coupon])

except

exception

as e:

raise

exception("

儲存失敗

")if __name__ == '__main__':

create_sql()

try:

get_coupon(200

, 20)

conn.commit()

except

exception

as e:

print

"出現問題:

"+str(e)

finally:

conn.close()

**中把01題又重新做了一邊,但是這就不能保證是我之前的優惠券了;

正確的做法該是將上次的優惠券存入文件中然後再讀取;

這個答案還對錶做了乙個預判,but我沒有;

p.s. 這裡遇到乙個mysql排序的問題,1-10,刪除1-10後,編號是從11開始,有什麼辦法可以讓他重新排序呢?

每天一python 題 0004

第0004 import rere word re.compile r a za z def count words object count 0for line in object nums re word.findall line count len nums return count if n...

Python每天一題 0000

coding utf 8 from pil import image im image.open c 1.png print im.show 使用image模組,i是大寫的,要寫from pil 不能直接寫import 使用dir檢視im有的屬性和方法。先試了size im.size 返回乙個元組 ...

Python每天一題 0001

今天比較有空就在寫乙個 這個就比較簡單了 就是生成啟用碼200個 我寫的是數字和大寫字母都有的那種 像這種 anoqeo8m taeccdki fhni80h1 y9w1wa4b 用的random的choice在列表中隨機出乙個,然後我讓他字元累加在一起8個 就是可以有256種。coding utf...