多个条件,然后else语句在Python的,如果再else语句,但我有symbolUpper 30个条件:如果我目前做对蟒蛇
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。字典将进一步改进解决方案。 'lookup_dict = {'AXP':0,'BA':1,...}'然后用'lookup_dict [symbolUpper]'来获得'i' – MrLeeh
好主意。没想到这一点。多谢你们。 –