![]() |
||
|
Major Member
![]() 加入日期: Oct 2004
文章: 138
|
想請教一個問題:有關於答案篩選方面指導
如果有10000多題單選題,前面都有正解,再來試題目,最後是選項(有4個選1個),該如何用函數或公式只選擇出正確選項,其他非必要之錯誤選項可刪除或消失
範例如下: 52.(2)機關委託廠商辦理專案管理,得視工程性質及實際需要,將下列何者一併委託辦理:(1)工程施工;(2)施工監造;(3)統包;(4)細部設計。 有何程式或方法可直接篩選成如下: 52.(2)機關委託廠商辦理專案管理,得視工程性質及實際需要,將下列何者一併委託辦理:(2)施工監造。 |
|||||||
|
|
|
Junior Member
![]() ![]() ![]() 加入日期: Jun 2003 您的住址: 蔡英文和寶和會!
文章: 820
|
建議樓主可考慮用VBA/PERL/Python等簡單的程式語言來完成.
VBA/PERL/Python相關介紹請見YAHOO知識或其他網站.
__________________
財經網紅,台股標的:00631L/0050/6208ETF,美股標的:SPLG(SP500 ETF)、軍火股。 PM技術分析心得, Anderson金融股心得,刀疤老二心得,全聚德期權小白書、The Guide to Smart Money Concepts。 立即停止回覆所有塔綠斑網軍的造假文,以免你還幫牠們把垃圾文推向第一頁! Sparc10/ 老老濕/ 豆子在本站見縫插針地去引導爭吵,反倒讓執政黨吃乾抹净並全身而退。 當老老濕被戳破言論之後,他就會轉移陣地不回應了。Kouiou回答衆多核能常見問題。 |
||
|
|
|
Major Member
![]() 加入日期: Oct 2004
文章: 138
|
引用:
經查詢,還是無所獲!!請問有何方式可幫忙!! |
|
|
|
|
Junior Member
![]() ![]() ![]() 加入日期: Jun 2003 您的住址: 蔡英文和寶和會!
文章: 820
|
引用:
就能閱讀相關教學文章 並自行解決這問題. 而樓主說一無所獲可能是您只作到第一歩而已. 我的VBA知識都忘了差不多了, 但個人以為此需求應能以VBA完成. 我的想法是把所有題目都複製到EXCEL中 再用其內建的VBA編輯器完成需求. 而VBA程式碼產生方式有下列三種. 一>樓主自行去書局/圖書館閱讀EXCEL書籍 以便學會VBA. 我認為 1.可用"。"作為程式判斷每題結尾, 然後將其個別地讀進陣列中. 2.可用":"作為程式判斷"題目"與"選項"的不同. 3.可用"()"作為程式判斷何處為"標準答案". PS: 雖然很想幫您 但我真得想不起來VBA怎麼寫. >_< 二>樓主在"YAHOO知識"發文詢問"如何用VBA完成此需求" PS: 您可能會被誤認成"要交作業的學生". ╮(﹀_﹀")╭ 三>樓主在"PCDVD疑難雜症區"發文詢問"如何用VBA完成此需求" PS: 除非您先寫出部分程式碼 否則可能沒人回覆喔.
__________________
財經網紅,台股標的:00631L/0050/6208ETF,美股標的:SPLG(SP500 ETF)、軍火股。 PM技術分析心得, Anderson金融股心得,刀疤老二心得,全聚德期權小白書、The Guide to Smart Money Concepts。 立即停止回覆所有塔綠斑網軍的造假文,以免你還幫牠們把垃圾文推向第一頁! Sparc10/ 老老濕/ 豆子在本站見縫插針地去引導爭吵,反倒讓執政黨吃乾抹净並全身而退。 當老老濕被戳破言論之後,他就會轉移陣地不回應了。Kouiou回答衆多核能常見問題。 此文章於 2008-11-22 07:48 PM 被 sparc10 編輯. |
|
|
|
|
Major Member
![]() 加入日期: Feb 2004 您的住址: Terran Empire
文章: 283
|
今天有點無聊,拿樓主的問題用Python寫了個小程式。程式在Windows下的Python IDE (IDLE)用樓主的範例來測試沒有問題。
因為是隨手寫的程式,沒有註解,也沒有考慮一些例外狀況。至於如何改進這個程式或改寫成其他程式語言,就留給樓主當習題了。 代碼:
# -*- 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()
|
|
|