我目前在一个项目上工作,我需要帮助将列表转换为表。我已经想出了一个办法,但必须有一个更短,更干净的方法来做这件事,我有一个困难,弄清楚。我的代码如下(我需要帮助的部分在**的底部)
def main():
# Create a list for the sales person
sales_persons_list = inputSalesPeople()
sales_amounts_list = inputSalesAmounts(sales_persons_list)
displaySalesReport(sales_persons_list, sales_amounts_list)
# Create a list for the sales person
def inputSalesPeople():
sales_persons_list = []
count = 0
while count < 5:
Name = input("What is the name of the sales person?: ")
count += 1
sales_persons_list.append(Name)
print(sales_persons_list)
return sales_persons_list
def inputSalesAmounts(sales_persons_list):
sales_amounts_list = []
index = 0
while index < len(sales_persons_list):
Sales =float(input("How much did " + str(sales_persons_list[index]) + " make in sales?: $"))
index += 1
sales_amounts_list.append(Sales)
print(sales_amounts_list)
return sales_amounts_list
**def displaySalesReport(sales_persons_list, sales_amounts_list):
Total_Sales = sum(sales_amounts_list)
print("%-15s %-15s" %("Salespeople","Sales Amount"))
print("%-15s %-15s" %(sales_persons_list[0],sales_amounts_list[0]))
print("%-15s %-15s" %(sales_persons_list[1],sales_amounts_list[1]))
print("%-15s %-15s" %(sales_persons_list[2],sales_amounts_list[2]))
print("%-15s %-15s" %(sales_persons_list[3],sales_amounts_list[3]))
print("%-15s %-15s" %(sales_persons_list[4],sales_amounts_list[4]))
print()
print("%-15s %-15s" %("Totals", Total_Sales))**
main()
这将显示具有正确值的正确表,但正如您所看到的,它有点长而且不干净。我怎样才能缩短它?谢谢你的帮助!你知道吗
此代码输出等于您的代码输出:)
将列表显示为表代码:
输出
尝试使用许多流行的软件包中的一个来打印表格o/p。我的建议是使用
tabulate
输出
试试这个:
这是您的代码的简化版本,您也可以使用Python Pandas创建表,Pandas最适合于表格形式的数据,但它提供的远远超出您的需要:
我的代码是伪代码,你必须修改它以满足你的需要。你知道吗
相关问题 更多 >
编程相关推荐