1. 程式人生 > >python 每日一練之0001題和0002題➕mysql簡單學習

python 每日一練之0001題和0002題➕mysql簡單學習

前言

自己的程式設計能力太不足了,最近開始每日一練,望大佬勿噴,學習記錄下

正文

第 0001 題: 做為 Apple Store App 獨立開發者,你要搞限時促銷,為你的應用生成啟用碼(或者優惠券),使用 Python 如何生成 200 個啟用碼(或者優惠券)?

第 0002 題: 將 0001 題生成的 200 個啟用碼(或者優惠券)儲存到 MySQL 關係型資料庫中。

先看題目吧,生成啟用碼當然要用到隨機數之類的沒什麼可講的直接貼上程式碼然後儲存

# -*- coding: utf-8 -*-

import random
import string
import pymysql.cursors #因為用的python3所以用的就是這個庫,因為聽說pymysql取代了MYSQL

def yaoqing(number,length):
	for i in range(0,int(number)):
		code = ''
		for j in range(0,length):
			code = code+random.choice(string.ascii_letters)#string.ascii_letters是指所有的可列印的英文字母包括大寫和小寫的
		print i,code #我這裡加了這一個是為了看一下對比下儲存到資料庫的和生成的有什麼區別
		save(i,code)
def save(i,code):
	connect = pymysql.connect(host='localhost',port=3306,user='root',passwd='woaini123',db='yaoqing')#連結資料庫
        cursor = connect.cursor() #設定浮游指標
	sql = "insert into t1(id, code) VALUES ('%d', '%s')"%(i+1,code) #插入資料
	cursor.execute(sql) #執行sql裡的操作
        connect.commit() # 將資料提交至資料庫
	connect.close() #關閉連線
if __name__ == '__main__':
	number = input("請輸入數量")
	length = input("請輸入長度") #改了下題目這樣可以自定義自己要生成多少個數可變性大一些
	yaoqing(number,length)

拓展

因為是小白,不知道很多資料的操作於是只能邊學邊做

首先是mysql的安裝我是mac所以用的是brew install mysql

然後登陸下 mysql -u root -p '你的密碼'

接著是建立一個數據庫可供我連結 CREATE DATADABASE 庫名; #注意分號我之前以為mysql是個命令列不用分號走了好多彎路

然後use 庫名; 進入庫

建立table  create table 名字(id int(4) ,code varchar(8)) 表示4個位元組整數和8個位元組的字串

然後一個我們需要連結的資料庫就做好接著就是哪個程式碼啦

當然建立啦還要刪除: 刪除庫 DROP DATABASE 庫名;(這些指令小寫也是沒有關係的) 刪除table:DROP DATABASE 名;(當然這個是要在databas的目錄下啦)

結尾

邊學邊做。。其中各種錯誤的心酸不言而喻

貼一下題目地址:

https://github.com/Yixiaohan/show-me-the-code