0

新入り

ランニングバランスをとるスクリプトを書こうとしています。私はPythonの基本的に宣言された関数をめちゃくちゃにしています。

私もそれが必要です:

  • 入力を介して残高を受け入れる
  • トランザクションのリストを追加する
  • 入力した順に1つずつ取り出します
  • 累計を印刷する
  • pyhtmltableを使用して、HTMLテーブルの出力をコピーおよび貼り付けできる形式にします。

コード:

# transaction posting on available balance

import PyHtmlTable 
import twodarr
import string,re
import copy
import sys

posting_trans = [] #creating a list of posting debits here

avail_bal = int(input('What is the balance available to pay transactions?')) #getting the starting balance

while True:  #building up the list of transactions
    ans = input('Please enter the debits in order of posting one at a time.  If there is no more, please enter 0:')
    if int(ans) == 0:
        break
    if ans > 0:    # to get out of loop
        posting_trans.append(ans)

num_trans = int(len(posting_trans))   #counting the number of transactions

print "<b> Beginning available balance of",avail_bal," </b> "  # start of the html table

tabledict = {'width':'400','border':2,'bgcolor':'white'}

t  = PyHtmlTable.PyHtmlTable( 2, 1 , tabledict )

t.setCellcontents(0,0,"Transactions")  #header cells
t.setCellcontents(1,0,"Available Balance")

while True:      #trying to create the rest of a dynamic table
    if countdown == 0:
        break

    for countdown in range(1,num_trans):
        t.add_row(1)

        def newer_bal():
            newer_bal(avail_bal - posting_trans[countdown])

            t.setCellcontents(0, 1, posting_trans[countdown])
            t.setCellcontents(1, 1, newer_bal)       

t.display()
4

1 に答える 1

2

そんな感じ?

# transaction posting on available balance
import PyHtmlTable 

posting_trans = [] #creating a list of posting debits here

#getting the starting balance
print 'What is the balance available to pay transactions? '
avail_bal = float(raw_input('Value: ')) 

while True:  #building up the list of transactions
    print 'Please enter the debits in order of posting one at a time.'
    print 'If there is no more, please enter 0:'
    ans = float(raw_input('Value: '))
    if ans == 0:
        break # to get out of loop
    posting_trans.append(ans)

# start of the html table
print "<b> Beginning available balance of %.2f</b>" % avail_bal

tabledict = {'width': '400', 'border': 2, 'bgcolor': 'white'}
t  = PyHtmlTable.PyHtmlTable(2, 1, tabledict)

t.setCellcontents(0, 0, "Transaction Value")  #header cells
t.setCellcontents(0, 1, "Available Balance")


for line, trans in enumerate(posting_trans):
    avail_bal -= trans
    t.setCellcontents(line + 1, 0, '%.2f' % trans)
    t.setCellcontents(line + 1, 1, '%.2f' % avail_bal)       

t.display()

ヒント:

  • 使用しないでくださいinput()raw_input()代わりに使用してください。input()Python 3.0 で名前が変更されました。
  • リストに値を保存する必要はありません。それらをすでにテーブルに格納できます。これが を使用するポイントPyHtmlTableです。教訓的な目的でリストを残しました。
  • チュートリアルを読む。ドキュメントを読む。コードをたくさん書く。
于 2009-01-23T13:40:12.237 に答える