python123上的彩蛋碼快速獲取

2021-09-01 13:26:01 字數 2799 閱讀 4674

把課程學習完之後,看到python123上說有彩蛋**,每個彩蛋碼位於乙個章節pdf中:

如何能夠快速的找出彩蛋碼?本著學以致用的態度,採用python來部分自動化實現. 

(在此首先感謝python課程團隊和慕課網,同時也感謝python123上提供的練習和彩蛋)

思路是:

首先:把pdf文件合併到乙個pdf文件中(pypdf2合併)

1. 文件合併**實現的話:

import os

from pypdf2 import pdffilereader, pdffilemerger

filedir=".\\pdffiles"

if (os.path.exists(filedir)):

print("open pdf folder <{}>".format(filedir).center(50,'#'))

else:

print("input folder not exist <{}>".format(filedir).center(50,'#'))

sys.exit()

allfiles=os.listdir(filedir)

pdfwriter = pdffilewriter()

outputpages = 0

for filename in allfiles:

#ignore other type files

if (not filename.endswith(".pdf")) and (not filename.endswith(".pdf")):

continue

#add file and bookmark to file

srcfile = filedir + "\\" + filename

print(srcfile)

pdfreader = pdffilereader(open(srcfile, "rb"))

pagecount = pdfreader.getnumpages()

for i in range(pagecount):

pdfwriter.addpage(pdfreader.getpage(i))

pdfwriter.addbookmark(title=filename, pagenum = outputpages + 1)

outputpages += pagecount

outfile="mergeoutput.pdf"

outpdf=open(outfile, "wb")

pdfwriter.write(outpdf)

outpdf.close()

print("merge output file".center(50,'-'))

print(outfile)

import win32api

import win32con

import win32gui

from ctypes import *

import time

vk_code =

class point(structure):

_fields_ = [("x", c_ulong),("y", c_ulong)]

def get_mouse_point():

po = point()

windll.user32.getcursorpos(byref(po))

return int(po.x), int(po.y)

def mouse_click(x=none,y=none):

if not x is none and not y is none:

mouse_move(x,y)

time.sleep(0.05)

win32api.mouse_event(win32con.mouseeventf_leftdown, 0, 0, 0, 0)

win32api.mouse_event(win32con.mouseeventf_leftup, 0, 0, 0, 0)

def mouse_move(x,y):

windll.user32.setcursorpos(x, y)

import pyperclip

def key_paste(str=""):

pyperclip.copy(str)

win32api.keybd_event(vk_code["ctrl"],0,0,0)

win32api.keybd_event(vk_code["a"],0,0,0)

time.sleep(0.1)

win32api.keybd_event(vk_code["ctrl"],0,0,0)

win32api.keybd_event(vk_code["v"],0,0,0)

time.sleep(0.1)

submitwords=["朝秦暮楚",

"縱橫",

"遊說"]

#find position

#    while true:

#        time.sleep(0.1)

#        print(get_mouse_point())

if __name__ == "__main__":

for word in submitwords:

mouse_click(308,89)  #這個根據解析度的不同,文字輸入框的位置會不同

key_paste(word)

mouse_click(710,89)

time.sleep(3)

個人隨筆 (owed by: 春夜喜雨

python123登入 python實現使用者登入

1.實現使用者輸入使用者名稱和密碼,當使用者名為 seven 且 密碼為 123 時,顯示登陸成功,否則登陸失敗 tag true while tag name input name passwd input password if name seven and passwd 123 print l...

計算圓周率(Python123)

根據下面的泰勒級數關係式,求圓周率的值,當最後一項的值小於給定閾值時結束。輸入在一行中給出小於1且大於0的閾值。在一行中輸出滿足閾值條件的近似圓周率,輸出到小數點後6位。k flag 1 s 0 epsilon eval input while 1 2 k 1 epsilon 當最後一項小於給定閾值...

Python123第三週下

time庫的基本介紹 time是python處理時間的標準庫 三類函式 時間獲取 time ctime gmtime 時間格式化 strftime strptime 程式計時 sleep per counter 函式的使用 時間獲取 獲取當前時間 time 獲取當前時間戳,即計算機內部時間值,浮點數...