0

ユーザーからの入力を取得しようとしており、値をマトリックスに格納したいと考えています。私は Python 2.7 を使用しており、入力を取得するためのコードがあります。しかし、次のようなエラーが表示されます。

Traceback (most recent call last):
  File "C:/.../sim.py", line 18, in <module>
    print 'Please enter the equitities'
  File "<string>", line 1, in <module>
NameError: name 'AAPL' is not defined

これが私のコードです:

ls_symbols_cnt = input('Enter the number of equities')
i = 0
n = 0
print 'Please enter the equities'
while n<=ls_symbols_cnt:
    ls_symbols[i,n] = input('Enter equity %n')
    n =+ 1

私は何か間違ったことをしていますか?numpy を使用して行列の値を取得する方法はありますか? ご意見ありがとうございます。

raw_input に変更した後、次のエラーが発生します。

Traceback (most recent call last):
  File "C:/Users/Rohit/Downloads/Computational_Investing/Hw-1/sim.py", line 21, in <module>
    ls_symbols[i,n]= raw_input('Enter equity')
NameError: name 'ls_symbols' is not defined

名前が定義されていないと言う理由がわかりません。ご意見ありがとうございます。

4

1 に答える 1

1

input() は、ユーザーが入力したものを評価しようとします。紛らわしい名前の関数です。raw_input() が必要です。

たとえば、ユーザーが「2+3」と入力した場合:

raw_input()
    => 5

input()
    => "2+3"

文字列以外のものを期待する場合は、自分で変換を実行する必要があることに注意してください。ユーザーが「42」と入力していて、文字列「42」ではなく数字の 42 が必要な場合は、int(raw_input()) が必要です。

于 2013-03-22T17:10:08.720 に答える