![]() |
PCDVD數位科技討論區
(https://www.pcdvd.com.tw/index.php)
- 疑難雜症區
(https://www.pcdvd.com.tw/forumdisplay.php?f=34)
- - 想請教一個問題:有關於答案篩選方面指導
(https://www.pcdvd.com.tw/showthread.php?t=827306)
|
|---|
想請教一個問題:有關於答案篩選方面指導
如果有10000多題單選題,前面都有正解,再來試題目,最後是選項(有4個選1個),該如何用函數或公式只選擇出正確選項,其他非必要之錯誤選項可刪除或消失
範例如下: 52.(2)機關委託廠商辦理專案管理,得視工程性質及實際需要,將下列何者一併委託辦理:(1)工程施工;(2)施工監造;(3)統包;(4)細部設計。 有何程式或方法可直接篩選成如下: 52.(2)機關委託廠商辦理專案管理,得視工程性質及實際需要,將下列何者一併委託辦理:(2)施工監造。 |
建議樓主可考慮用VBA/PERL/Python等簡單的程式語言來完成.
VBA/PERL/Python相關介紹請見YAHOO知識或其他網站. |
引用:
經查詢,還是無所獲!!請問有何方式可幫忙!! |
引用:
就能閱讀相關教學文章 並自行解決這問題. 而樓主說一無所獲可能是您只作到第一歩而已. 我的VBA知識都忘了差不多了, 但個人以為此需求應能以VBA完成. 我的想法是把所有題目都複製到EXCEL中 再用其內建的VBA編輯器完成需求. 而VBA程式碼產生方式有下列三種. 一>樓主自行去書局/圖書館閱讀EXCEL書籍 以便學會VBA. 我認為 1.可用"。"作為程式判斷每題結尾, 然後將其個別地讀進陣列中. 2.可用":"作為程式判斷"題目"與"選項"的不同. 3.可用"()"作為程式判斷何處為"標準答案". PS: 雖然很想幫您 但我真得想不起來VBA怎麼寫. >_< 二>樓主在"YAHOO知識"發文詢問"如何用VBA完成此需求" PS: 您可能會被誤認成"要交作業的學生". ╮(﹀_﹀")╭ 三>樓主在"PCDVD疑難雜症區"發文詢問"如何用VBA完成此需求" PS: 除非您先寫出部分程式碼 否則可能沒人回覆喔. |
今天有點無聊,拿樓主的問題用Python寫了個小程式。程式在Windows下的Python IDE (IDLE)用樓主的範例來測試沒有問題。
因為是隨手寫的程式,沒有註解,也沒有考慮一些例外狀況。至於如何改進這個程式或改寫成其他程式語言,就留給樓主當習題了。 :p 代碼:
# -*- coding: big5 -*-
f = open('questions.txt','r')
for q in f:
a = {}
q = q.lstrip().rstrip('\n')
n = q.find('.')
if n == -1:
print '------'
continue
qn = q[0:n]
try:
int(qn)
except ValueError:
print '------'
continue
n = q.find(')')
if n == -1:
print '------'
continue
ca = q[n-1]
try:
int(ca)
except ValueError:
print '------'
continue
n2 = q.find('(1)',n+1)
if n2 == -1:
print '------'
continue
qt = q[n+2:n2]
n = q.find('(2)',n2+1)
if n == -1:
print '------'
continue
a['1'] = q[n2:n-2]
n2 = q.find('(3)',n+1)
if n2 == -1:
print '------'
continue
a['2'] = q[n:n2-2]
n = q.find('(4)',n2+1)
if n == -1:
print '------'
continue
a['3'] = q[n2:n-2]
a['4'] = q[n:-2]
print qn + '.(' + ca + ')' + qt + a[ca] + '。'
f.close()
|
| 所有的時間均為GMT +8。 現在的時間是09:27 AM. |
vBulletin Version 3.0.1
powered_by_vbulletin 2025。