【问题标题】:How do I remove whitespace to balance?如何删除空格以保持平衡?
【发布时间】:2019-03-17 02:29:48
【问题描述】:

两周半前,我刚开始将 Python 作为我的第一语言,所以请记住,我可能采取了最长的路线来创建这段代码。请记住,非常感谢您对其余代码提出的任何建议。

无论如何,关于我的问题:无论用户输入的 item_name 是什么,我都在努力让一切都很好地排列。当然,用户输入的名称越长,它就会将行的其余部分推得越远。有没有人有任何建议可以根据 item_name 的长度删除一定数量的空格?我以前从未发布过这样的代码,所以我可能做得不对,但这里是我遇到问题的具体打印部分:

for i in range(0, loop_num):
print('Item %d: %s               $%.2f    %d     $%.2f' % (
     item_counter , 
     item_name_list[i] , 
     item_price_list[i] , 
     int(item_quantity_list[i]) , 
     single_item_total[i] 
     ))
item_counter += 1

这是上述代码之前的前半部分:

    item_name_list = []
item_price_list = []
item_quantity_list = []
single_item_total = []
loop_num = int(input('Enter how many different unique items you have total \n'))
item_counter = 1

for i in range(0, loop_num):
    item_name = input('Please enter the name of item %d: ' % item_counter)
    item_name_list.append(item_name)
    item_price = float(input('Please enter the price of item %d: ' % item_counter))
    item_price_list.append(item_price)
    item_quantity = float(input('Please enter the quantity of item %d: ' % item_counter))
    item_quantity_list.append(item_quantity)
    item_counter += 1

我不会给出最后一部分,因为那只是我打印小计、税收和总计。这是我输入名称中字符数相同的 3 个项目时的输出:

收据 名称 价格 数量 合计 第 1 项:牛奶 $3.99 1 $3.99 第 2 项:鸡蛋 $2.00 4 $8.00 第 3 项:苏打水 $4.00 3 $12.00 小计 $23.99 销售税 $1.20 总计 $25.19

如果我输入任何与其他字符不同的字符,价格和数量就会被推高。如果做起来太复杂,请告诉我。我只是讨厌让他们无法排队。

【问题讨论】:

  • 您应该阅读有关format() 函数的信息。它旨在替换 % 格式并提供有用的功能。
  • 我的大学课程教我使用 %s %d 等。我认为这已经过时了,但我仍然看到有人使用它。这就是你让我看的具体原因吗? : 文本右对齐
  • 对,这让事情变得更容易了。
  • 没关系,我明白为什么我在解释它们的页面上越深入。其中大部分看起来与 % 所做的非常相似,以至于我想知道重点是什么。非常感谢你告诉我这个!让我头疼不已。
  • 想要将您的评论标记为解决此问题,但您的评论旁边没有出现绿色复选标记。也没有投票按钮或任何东西。是因为我是新用户吗?

标签: python list loops for-loop whitespace


【解决方案1】:

format() 函数及其format string syntax 是比旧的% 格式化更好的字符串格式。

在这种情况下,对齐字符 <> 可以提供帮助,输出代码如下:

print('Item {}: {:<15} ${:.2f} {:>4}     ${:.2f}'.format(...)

【讨论】:

    猜你喜欢
    • 2017-10-28
    • 1970-01-01
    • 2017-10-10
    • 1970-01-01
    • 2012-12-29
    • 2020-10-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多