【问题标题】:Python: How do I do menu option spacing in a way that the options are centered?Python:如何以选项居中的方式设置菜单选项间距?
【发布时间】:2019-12-18 16:45:53
【问题描述】:

对不起,英语不是第一语言:

我今天在学校开始使用python,但我无法弄清楚,我也被指定使用过程编程,所以我无法调用.textwrap或.format之类的类。

代码如下:

x_max = 0
y_max = 0
menu = ["1. Somma", "2. Sottrazione", "3. Moltiplicazione", "4. Divisione", "5. Exit"]
y_max = len(menu)
for x in range(len(menu)):
  p = len(menu[x])
  if (x_max < p):
    x_max = p

x_tabella = x_max

print("╔", end = '')
for x in range (x_tabella+4):
  print ("═", end = '')
print ("╗")

for x in range(y_max):
  print ("║  ", end = '')
  print (menu[x], end = '') != x_max
  print ("  ║")

print("╚", end = '')
for x in range (x_tabella+4):
  print ("═", end = '')
print ("╝")

目标是在选项周围放置一个边框,就像一个菜单一样,选项位于边框的中心。问题是我不知道如何正确居中,因为左侧看起来不错,但右侧都偏离了中心。它应该是一个代码,您在菜单中放置的任何选项都会扩展并调整边框。

This is how it ends up currently

非常感谢您的帮助,谢谢。

【问题讨论】:

  • 如果你想自己尝试一下:在for x in range(y_max):后面的代码块中,你打印“菜单项”,然后是右边框。但是,所有菜单项都有不同的长度,并且边框只有两个空格。您需要相应地增加空格的数量,以匹配框的大小。

标签: python-3.x


【解决方案1】:

所以我不太明白你对这行的意图:

print (menu[x], end = '') != x_max

但改成:

print(menu[x] + ' '*(x_max-len(menu[x])), end = '')

你应该得到预期的输出。

【讨论】:

  • 非常感谢,已经解决了
猜你喜欢
  • 2019-05-21
  • 2015-09-19
  • 2018-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-12
  • 2011-03-09
  • 1970-01-01
相关资源
最近更新 更多