2017-07-17 86 views
-3

我想此输出的方式,其中在括号中的数是偶数格式化和与括号中的其他数字的直线排队..下面所示输入语句的格式化输出

# AStE ....................(1) 
# AST......................(2) 
#ZASKW.....................(3) 
#gREEENN...................(4) 
# THESE ARE EXAMPLE NAMES WITH MORE LETTERS IN THEM. 



location = raw_input("\n \n THIS IS A LIST OF words with ID'S ASSIGNED TO THEM() \n ASTE (1)\n Ast (2) \n AS (3) \n ASTO (4) \n Bro (5) \n Cor (6) \n DUn (7) \n DUNWO (8) \n Ea (9) \n Eas (10) \n"" VI (11) \n Green (12) \n Mill (13) \n State (14) \n Ver (15) \n We (16) \n PLEASE ENTER THE ID # ") 
+4

看起来你要我们写一些代码给你。尽管许多用户愿意为遇险的编码人员编写代码,但他们通常只在海报已尝试自行解决问题时才提供帮助。展示这一努力的一个好方法是包含迄今为止编写的代码,示例输入(如果有),预期输出以及实际获得的输出(控制台输出,回溯等)。您提供的细节越多,您可能会收到的答案就越多。检查[FAQ](http://stackoverflow.com/tour)和[如何提问](http://stackoverflow.com/help/how-to-ask)。 –

+0

另外,如果括号中的数字为10或更大,会发生什么情况 - 这些数字是左对齐,右对齐还是其他?为什么'AStE'和'AST'线有一个领先的空间,但其他线没有?你必须让你的问题陈述更清楚。 –

+0

我的目标是尝试排列圆括号,所以如果有一个位置名称与很多字母,它会适当排队。任何方式,我可以做到这一点。我正在尝试手动执行它,但效率不高 – Mike

回答

0
实施例输出

它应该做你想做的事。

commands = ["AStE", "AST", "ZASKW", "gREEENN"] 
max_columns = 30 

for index, commands in enumerate(commands): 
    stars_amount = max(max_columns - len(commands), 0) 
    row = "# {} {}({})".format(commands, "." * stars_amount, index + 1) 
    print row 
print "PLEASE ENTER THE ID:" 

输出:

# AStE ..........................(1) 
# AST ...........................(2) 
# ZASKW .........................(3) 
# gREEENN .......................(4) 
PLEASE ENTER THE ID: 

基于@ason​​gtoruin评论另一种解决方案:

commands = ["AStE", "AST", "ZASKW", "gREEENN"] 

for index, commands in enumerate(commands): 
    row = "# {:.<30} ({})".format(commands, index + 1) 
    print row 
print "PLEASE ENTER THE ID:" 
+1

你可以用[字符串格式化](https://docs.python.org/2/library/string.html#format-specification-mini-language)更整齐地做到这一点。 – asongtoruin