0

ticker()現在、ファイルを開いて読み取り、ユーザーに会社名の入力を求める関数を作成しようとしています。ユーザーが会社名を入力すると、その会社のティッカー シンボルが返されます。

また、次のようにフォーマットされたデータファイルも提供されます。

Name of Company #1
Ticker Symbol of Company #1
Name of Company #2
Ticker Symbol of Company #2
...

私が必要とするビューは次のようなものです:

ticker('test.txt')
Enter Company Name: YAHOO
Ticker: YHOO

私の現在のコードは次のとおりです。

def ticker(x):
    d = {}
    infile = open(x,'r')
    content = infile.readlines()
    for line in (x):
        file = line.split('\n')

しかし、今ではこれを計算する方法について完全に迷っています。

4

4 に答える 4

0

読み込んでいるファイルの形式はわかりませんが、次のコードはファイルを読み込んで空白以外の行に分割します。

def ticker(filename):
    lines = open(filename).read().split('\n')
    lines = [x in lines if x]
于 2013-03-11T09:08:07.543 に答える
0

ファイル形式を変更するか、これを試してください:

ticker = {}
for company, ticker in (x):
    ticker[company] = ticker

これにより、次のような方法でアクセスしてその値を返すことができる辞書が得られます。dictionary[key]ユーザー入力を取得するためにGoogleを使用すると、これを機能させることができると確信しています。ユーザー入力の大文字化が問題にならないように、大文字と小文字の変換を適用することもできます。

これで十分でない場合は、さらに努力するか、コンサルタントを雇うか、実際に努力していることを示す質問をすることを検討してください。

于 2013-03-11T09:13:31.727 に答える
0

データ ファイルの形式が確かな場合は、次のコードを使用できますが、例外を処理せずにファイルを操作することはお勧めできません。

def ticker(filename):
    with open(filename, 'r') as f:
        lines = [line.strip() for line in f.readlines()]
        return dict(zip(lines[::2], lines[1::2]))

data = ticker('test')
name = raw_input('Enter Company Name: ')
print 'Ticker:', data.get(name.strip(), 'Not Found!')
于 2013-03-11T09:14:20.600 に答える
0

以下は非常に未加工で単純な実装であり、改善することができます。

def ticker(filename):
    name = raw_input("Enter Company Name:")
    f = open(filename, "r")
    l = f.readline()
    ticker = ''
    while l:
        if l.strip() == name:
            ticker = f.readline().strip()
            break
        else:
            l = f.readline()
    if ticker:
        print "Ticker: %s" % ticker
    else:
        print "Ticker not found!"

ticker("1.txt")
于 2013-03-11T09:15:34.863 に答える