# 匯入模組
from reportlab.pdfgen import canvas
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.cidfonts import UnicodeCIDFont
import reportlab.lib.units as unit
import reportlab.lib.pagesizes as pagesizes
# register font
pdfmetrics.registerFont(UnicodeCIDFont("HeiseiKakuGo-W5"))
# create save pdf
pdf = canvas.Canvas("myfirst.pdf", pagesize=pagesizes.A4) #指定名稱和大小
title="運動大雜燴"
for word in title:
pdf.setFont("HeiseiKakuGo-W5", 210*unit.mm)
h=(297-210)/2 * unit.mm
pdf.drawString(0 * unit.mm, h, word) #pdf 內容及大小
pdf.showPage() #換頁
pdf.save()
2019年11月14日 星期四
2019年11月10日 星期日
製作pdf
# 匯入模組
from reportlab.pdfgen import canvas
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.cidfonts import UnicodeCIDFont
import reportlab.lib.units as unit
import reportlab.lib.pagesizes as pagesizes
# register font
pdfmetrics.registerFont(UnicodeCIDFont("HeiseiKakuGo-W5"))
# create save pdf
pdf = canvas.Canvas("myfirst.pdf", pagesize=pagesizes.A4) #指定名稱和大小
pdf.setFont("HeiseiKakuGo-W5", 14)
pdf.drawString(100 * unit.mm, 2 * unit.mm, "第一個PDF") #pdf 內容及大小
pdf.save()
============
匯入pdf模組(reportlab) 五類
1.canvas ==>pdf 的頁面名稱
2.regiterfont ==>UnitcodeCIDFont
3.setfont ==>
4.unit ==>
5.pagesize ===>紙張大小
from reportlab.pdfgen import canvas
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.cidfonts import UnicodeCIDFont
import reportlab.lib.units as unit
import reportlab.lib.pagesizes as pagesizes
# register font
pdfmetrics.registerFont(UnicodeCIDFont("HeiseiKakuGo-W5"))
# create save pdf
pdf = canvas.Canvas("myfirst.pdf", pagesize=pagesizes.A4) #指定名稱和大小
pdf.setFont("HeiseiKakuGo-W5", 14)
pdf.drawString(100 * unit.mm, 2 * unit.mm, "第一個PDF") #pdf 內容及大小
pdf.save()
============
匯入pdf模組(reportlab) 五類
1.canvas ==>pdf 的頁面名稱
2.regiterfont ==>UnitcodeCIDFont
3.setfont ==>
4.unit ==>
5.pagesize ===>紙張大小
2019年11月5日 星期二
繪圖(一)
import tkinter as tk
root=tk.Tk()
root.geometry("600x400")
canvas=tk.Canvas(root,width=600,height=400,bg="white")
canvas.place(x=0,y=0)
canvas.create_oval(300-60,200-20,300+20,200+20)
root.mainloop()
root=tk.Tk()
root.geometry("600x400")
canvas=tk.Canvas(root,width=600,height=400,bg="white")
canvas.place(x=0,y=0)
canvas.create_oval(300-60,200-20,300+20,200+20)
root.mainloop()
視窗形式 驗證是否輸入為四位數(二)
輸入數字加右框
加入
rirekibox.insert(tk.END,b+"\n")
rirekibox=tk.Text(root,font=("Helvetica",14))
rirekibox.place(x=400,y=0,width=200,height=400)
import tkinter as tk
import tkinter.messagebox as tmsg
import random
def ButtonClick():
#a=[random.randint(1,9),random.randint(1,9),random.randint(1,9),random.randint(1,9),]
b=editbox_1.get()
if (len(b)!=4):
tmsg.showerror("錯誤","請重新輸入")
else:
kazuok=True
for i in range(4):
if (b[i]>"9" or b[i]<"0"):
tmsg.showerror("錯誤","請重新輸入")
kazuok=False
break
if kazuok:
#tmsg.showinfo("你輸入的文字",b)
rirekibox.insert(tk.END,b+"\n")
root=tk.Tk()
root.title("猜數字遊戲")
root.geometry("600x400")
label_1=tk.Label(root,text="請輸入數字",font=("Helvetica",14))
label_1.place(x=20,y=20)
editbox_1=tk.Entry(width=4,font=("Helvetica",14))
editbox_1.place(x=150,y=20)
button_1=tk.Button(root,text="確認",font=("Helvetica",14),command=ButtonClick)
button_1.place(x=150,y=60)
rirekibox=tk.Text(root,font=("Helvetica",14))
rirekibox.place(x=400,y=0,width=200,height=400)
root.mainloop()
視窗形式 驗證是否輸入為四位數
import tkinter as tk
import tkinter.messagebox as tmsg
import random
def ButtonClick():
#a=[random.randint(1,9),random.randint(1,9),random.randint(1,9),random.randint(1,9),]
b=editbox_1.get()
if (len(b)!=4):
tmsg.showerror("錯誤","請重新輸入")
else:
kazuok=True
for i in range(4):
if (b[i]>"9" or b[i]<"0"):
tmsg.showerror("錯誤","請重新輸入")
kazuok=False
break
if kazuok:
tmsg.showinfo("你輸入的文字",b)
root=tk.Tk()
root.title("猜數字遊戲")
root.geometry("400x200")
label_1=tk.Label(root,text="請輸入數字",font=("Helvetica",14))
label_1.place(x=20,y=20)
editbox_1=tk.Entry(width=4,font=("Helvetica",14))
editbox_1.place(x=150,y=20)
button_1=tk.Button(root,text="確認",font=("Helvetica",14),command=ButtonClick)
button_1.place(x=150,y=60)
root.mainloop()
import tkinter.messagebox as tmsg
import random
def ButtonClick():
#a=[random.randint(1,9),random.randint(1,9),random.randint(1,9),random.randint(1,9),]
b=editbox_1.get()
if (len(b)!=4):
tmsg.showerror("錯誤","請重新輸入")
else:
kazuok=True
for i in range(4):
if (b[i]>"9" or b[i]<"0"):
tmsg.showerror("錯誤","請重新輸入")
kazuok=False
break
if kazuok:
tmsg.showinfo("你輸入的文字",b)
root=tk.Tk()
root.title("猜數字遊戲")
root.geometry("400x200")
label_1=tk.Label(root,text="請輸入數字",font=("Helvetica",14))
label_1.place(x=20,y=20)
editbox_1=tk.Entry(width=4,font=("Helvetica",14))
editbox_1.place(x=150,y=20)
button_1=tk.Button(root,text="確認",font=("Helvetica",14),command=ButtonClick)
button_1.place(x=150,y=60)
root.mainloop()
2019年11月4日 星期一
guess number
# coding:utf-8
import random
import tkinter as tk
import tkinter.messagebox as tmsg
def ButtonClick():
b = editbox1.get()
#判斷是否為4位數
isok = False
if len(b) != 4:
tmsg.showerror("錯誤", "請填4個數字")
else:
kazuok = True
for i in range(4):
if (b[i] <"0") or (b[i] > "9") :
tmsg.showerror("錯誤", "不是數字")
kazuok = False
break
if kazuok :
isok = True
if isok :
# 當輸入為4位數
# hit 判定
hit = 0
for i in range(4):
if a[i] == int(b[i]):
hit = hit + 1
# blow 判定
blow = 0
for j in range(4):
for i in range(4):
if (int(b[j]) == a[i]) and (a[i] != int(b[i])) and (a[j] != int(b[j])):
blow = blow + 1
break
#當 hit==4
if hit == 4:
tmsg.showinfo("猜中了", "恭喜。猜中了")
# 終了
root.destroy()
else:
# hit and blow 的題示
tmsg.showinfo("提示", "Hit " + str(hit) + "/" + "Blow " + str(blow))
adpated from python 入門教室
# 取亂數
a = [random.randint(0, 9),
random.randint(0, 9),
random.randint(0, 9),
random.randint(0, 9)]
root = tk.Tk()
root.geometry("400x150")
root.title("猜數字遊字")
label1 = tk.Label(root, text="輸入數字", font=("Helvetica", 14))
label1.place(x = 20, y = 20)
label2=tk.Label(root,text=a,font=("Helvetica",14))
label2.place(x=20,y=120)
editbox1 = tk.Entry(width = 4, font=("Helvetica", 28))
editbox1.place(x = 120, y = 60)
button1 = tk.Button(root, text = "確定", font=("Helvetica", 14), command=ButtonClick)
button1.place(x = 220, y = 60)
root.mainloop()
import random
import tkinter as tk
import tkinter.messagebox as tmsg
def ButtonClick():
b = editbox1.get()
#判斷是否為4位數
isok = False
if len(b) != 4:
tmsg.showerror("錯誤", "請填4個數字")
else:
kazuok = True
for i in range(4):
if (b[i] <"0") or (b[i] > "9") :
tmsg.showerror("錯誤", "不是數字")
kazuok = False
break
if kazuok :
isok = True
if isok :
# 當輸入為4位數
# hit 判定
hit = 0
for i in range(4):
if a[i] == int(b[i]):
hit = hit + 1
# blow 判定
blow = 0
for j in range(4):
for i in range(4):
if (int(b[j]) == a[i]) and (a[i] != int(b[i])) and (a[j] != int(b[j])):
blow = blow + 1
break
#當 hit==4
if hit == 4:
tmsg.showinfo("猜中了", "恭喜。猜中了")
# 終了
root.destroy()
else:
# hit and blow 的題示
tmsg.showinfo("提示", "Hit " + str(hit) + "/" + "Blow " + str(blow))
adpated from python 入門教室
# 取亂數
a = [random.randint(0, 9),
random.randint(0, 9),
random.randint(0, 9),
random.randint(0, 9)]
root = tk.Tk()
root.geometry("400x150")
root.title("猜數字遊字")
label1 = tk.Label(root, text="輸入數字", font=("Helvetica", 14))
label1.place(x = 20, y = 20)
label2=tk.Label(root,text=a,font=("Helvetica",14))
label2.place(x=20,y=120)
editbox1 = tk.Entry(width = 4, font=("Helvetica", 28))
editbox1.place(x = 120, y = 60)
button1 = tk.Button(root, text = "確定", font=("Helvetica", 14), command=ButtonClick)
button1.place(x = 220, y = 60)
root.mainloop()
2019年11月3日 星期日
輸入五次成績
輸入五次成績 且大於100, 小於0 則重新輸入
score_list=[0]*5
for i in range(0,5):
score=int(input("請輸入你的成績"))
check=True
while check:
if (score>100 or score<0):
print("請重新輸入你的成績")
score=int(input("請輸入你的成績"))
else:
check=False
score_list[i]=score
print("你的五次成績分數是{}".format(score_list))
score_list=[0]*5
for i in range(0,5):
score=int(input("請輸入你的成績"))
check=True
while check:
if (score>100 or score<0):
print("請重新輸入你的成績")
score=int(input("請輸入你的成績"))
else:
check=False
score_list[i]=score
print("你的五次成績分數是{}".format(score_list))
訂閱:
文章 (Atom)