瀏覽單個文章
kec
Major Member
 
kec的大頭照
 

加入日期: 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()
舊 2008-11-25, 11:27 AM #5
回應時引用此文章
kec離線中