我有一个小程序,它有一个货币列表和两个函数。
第一个函数funcOne(currency)接收所有的汇率,并在范围(10, 101, 10)内计算每个数字。
第二个函数funcTwo(currency, t)在格式化的表格中显示所有信息。
def funcOne(currency):
matrix = []
for i in range(10, 101, 10):
aud = i * currency[0][1]
usd = i * currency[1][1]
eur = i * currency[2][1]
gbp = i * currency[3][1]
curList = [i, aud, usd, eur, gbp]
matrix.append(curList)
return(matrix)
def funcTwo(currency, t):
print("$NZ \t{} \t{} \t{} \t{} \t".format(currency[0][0], currency[1][0], currency[2][0], currrency[3][0]))
for i in t:
print("%0.2f" % i[0], "\t%0.2f" % i[1], "\t%0.2f" % i[2], "\t%0.2f" % i[3], "\t%0.2f" % i[4], "\t")
currency = [['Euro', 0.2],['GBP', 0.3],['AUD', 0.4],['USD', 0.5]]
t = funcOne(currency)
funcTwo(currency, t)
结果看起来像这样。
$NZ Euro GBP AUD USD
10.00 2.00 3.00 4.00 5.00
20.00 4.00 6.00 8.00 10.00
30.00 6.00 9.00 12.00 15.00
40.00 8.00 12.00 16.00 20.00
50.00 10.00 15.00 20.00 25.00
60.00 12.00 18.00 24.00 30.00
70.00 14.00 21.00 28.00 35.00
80.00 16.00 24.00 32.00 40.00
90.00 18.00 27.00 36.00 45.00
100.00 20.00 30.00 40.00 50.00
问题是如果增加了额外的货币,程序就不能显示它。
例如
currency = [['Euro', 0.2],['GBP', 0.3],['AUD', 0.4],['USD', 0.5],['RUB', 0.12]]
我可以做什么改变来使表格显示任意数量的货币?
对不起,如果不是很清楚,请问清楚。我没办法了,怎么才能让事情顺利进行。将感谢任何帮助。
你可以做
def funcOne(currency):
matrix = []
for i in range(10, 101, 10):
curList =[]
for j in range(len(currency)):
curList.append(currency[j][1] * i)
matrix.append(curList)
return(matrix)
也许是这样的?
def funcTwo(currency):
names = [c[0] for c in currency]
print("$NZ\t" + ' \t'.join(names))
for i in range(10, 101, 10):
print(i, end='\t')
curList = [str(i * c[1]) for c in currency]
print(" \t".join(curList))
currency = [['Euro', 0.2],['GBP', 0.3],['AUD', 0.4],['USD', 0.5],['RUB', 0.12]]
funcTwo(currency)
print()
currency = [['Euro', 0.2],['GBP', 0.3],['AUD', 0.4],['USD', 0.5]]
funcTwo(currency)
输出。
$NZ Euro GBP AUD USD RUB
10 2.0 3.0 4.0 5.0 1.2
20 4.0 6.0 8.0 10.0 2.4
30 6.0 9.0 12.0 15.0 3.5999999999999996
40 8.0 12.0 16.0 20.0 4.8
50 10.0 15.0 20.0 25.0 6.0
60 12.0 18.0 24.0 30.0 7.199999999999999
70 14.0 21.0 28.0 35.0 8.4
80 16.0 24.0 32.0 40.0 9.6
90 18.0 27.0 36.0 45.0 10.799999999999999
100 20.0 30.0 40.0 50.0 12.0
$NZ Euro GBP AUD USD
10 2.0 3.0 4.0 5.0
20 4.0 6.0 8.0 10.0
30 6.0 9.0 12.0 15.0
40 8.0 12.0 16.0 20.0
50 10.0 15.0 20.0 25.0
60 12.0 18.0 24.0 30.0
70 14.0 21.0 28.0 35.0
80 16.0 24.0 32.0 40.0
90 18.0 27.0 36.0 45.0
100 20.0 30.0 40.0 50.0