に、私は現在、Pythonであれば、else文をやっているが、私はsymbolUpperのための30個の条件がある場合:その後、複数の条件のためelse文のpython
if symbolUpper == "CAT":
growth = (((listOfRecords[2][5]-listOfRecords[2][4])/listOfRecords[2][4])*100)
peRatio = (listOfRecords[2][5]/listOfRecords[2][6])
print("Company: " + listOfRecords[2][0])
print("Industry: " + listOfRecords[2][3])
print("Exchange: " + listOfRecords[2][2])
print("Growth in 2013: {0:,.2f}%".format(growth))
print("Price/Earning ratio in 2013: {0:,.2f}".format(peRatio))
は上場せずにpythonでコーディングする簡単な方法はありますすべての30の条件?私は全体のコードも含めました。
infile = open("Dow.txt", 'r')
listOfRecords = [line.rstrip() for line in infile]
infile.close()
for i in range(len(listOfRecords)):
listOfRecords[i]=listOfRecords[i].split(",")
listOfRecords[i][4] = eval(listOfRecords[i][4]) # price at the end of trading on 12/31/2012
listOfRecords[i][5] = eval(listOfRecords[i][5]) # price at the end of trading on 12/31/2013
listOfRecords[i][6] = eval(listOfRecords[i][6]) # 2013 earnings per share
print("Symbols for the Thirty DOW Stocks")
print(listOfRecords[0][1] + "\t" + listOfRecords[1][1] + "\t" +
listOfRecords[2][1] + "\t" + listOfRecords[3][1] + "\t" +
listOfRecords[4][1] + "\t" + listOfRecords[5][1] + "\t" +
listOfRecords[6][1] + "\t" + listOfRecords[7][1] + "\t" +
listOfRecords[8][1] + "\t" + listOfRecords[9][1] + "\n" +
listOfRecords[10][1] + "\t" + listOfRecords[11][1] + "\t" +
listOfRecords[12][1] + "\t" + listOfRecords[13][1] + "\t" +
listOfRecords[14][1] + "\t" + listOfRecords[15][1] + "\t" +
listOfRecords[16][1] + "\t" + listOfRecords[17][1] + "\t" +
listOfRecords[18][1] + "\t" + listOfRecords[19][1] + "\n" +
listOfRecords[20][1] + "\t" + listOfRecords[21][1] + "\t" +
listOfRecords[22][1] + "\t" + listOfRecords[23][1] + "\t" +
listOfRecords[24][1] + "\t" + listOfRecords[25][1] + "\t" +
listOfRecords[26][1] + "\t" + listOfRecords[27][1] + "\t" +
listOfRecords[28][1] + "\t" + listOfRecords[29][1] + "\t")
print()
symbol = input("Enter a symbol: ")
symbolUpper = symbol.upper()
if symbolUpper == "AXP":
growth = (((listOfRecords[0][5]-listOfRecords[0][4])/listOfRecords[0][4])*100)
peRatio = (listOfRecords[0][5]/listOfRecords[0][6])
print("Company: " + listOfRecords[0][0])
print("Industry: " + listOfRecords[0][3])
print("Exchange: " + listOfRecords[0][2])
print("Growth in 2013: {0:,.2f}%".format(growth))
print("Price/Earning ratio in 2013: {0:,.2f}".format(peRatio))
if symbolUpper == "BA":
growth = (((listOfRecords[1][5]-listOfRecords[1][4])/listOfRecords[1][4])*100)
peRatio = (listOfRecords[1][5]/listOfRecords[1][6])
print("Company: " + listOfRecords[1][0])
print("Industry: " + listOfRecords[1][3])
print("Exchange: " + listOfRecords[1][2])
print("Growth in 2013: {0:,.2f}%".format(growth))
print("Price/Earning ratio in 2013: {0:,.2f}".format(peRatio))
if symbolUpper == "CAT":
growth = (((listOfRecords[2][5]-listOfRecords[2][4])/listOfRecords[2][4])*100)
peRatio = (listOfRecords[2][5]/listOfRecords[2][6])
print("Company: " + listOfRecords[2][0])
print("Industry: " + listOfRecords[2][3])
print("Exchange: " + listOfRecords[2][2])
print("Growth in 2013: {0:,.2f}%".format(growth))
print("Price/Earning ratio in 2013: {0:,.2f}".format(peRatio))
if symbolUpper == "CSCO":
growth = (((listOfRecords[3][5]-listOfRecords[3][4])/listOfRecords[3][4])*100)
peRatio = (listOfRecords[3][5]/listOfRecords[3][6])
print("Company: " + listOfRecords[3][0])
print("Industry: " + listOfRecords[3][3])
print("Exchange: " + listOfRecords[3][2])
print("Growth in 2013: {0:,.2f}%".format(growth))
print("Price/Earning ratio in 2013: {0:,.2f}".format(peRatio))
なぜ「dict」を使用しないのですか? –
私は@ PeterWoodに同意します。 dictはソリューションをさらに改善します。 'lookup_dict = {'AXP':0、 'BA':1、...}'そして 'lookup_dict [symbolUpper]'を使って 'i'を取得してください。 – MrLeeh
良いアイデア。それを考えなかった。みんなありがとう。 –