我无法在Python中正确格式化。以下是我的清单。我不知道为什么在某些字段上没有间距。下面是我的代码以及它的读取方式。
def main():
golf_file = open('golf.txt', 'r') #open file
first_name = golf_file.readline() #read first line
print('First Name\tLast Name\tHandicap\tGolf Score\tOver, Under or Par') #print headings
while first_name != '': #while statement for loop
last_name = golf_file.readline()
handicap = golf_file.readline()
golf_score = golf_file.readline()
#stripping newline from each string
first_name = first_name.rstrip('\n')
last_name = last_name.rstrip('\n')
handicap = handicap.rstrip('\n')
golf_score = golf_score.rstrip('\n')
handicap_num = float(handicap)
golfscore_num = int(golf_score)
#if statement to determine if golf score is over, under or par
if golfscore_num == 80:
OverUnderPar = ('Par')
elif golfscore_num < 80:
OverUnderPar = ('Under Par')
else:
OverUnderPar = ('Over Par')
#print info with two tabs for positioning.
print( first_name, '\t''\t', last_name, '\t''\t', handicap_num, '\t', '\t', golfscore_num, '\t', '\t', OverUnderPar)
first_name = golf_file.readline()
golf_file.close() #close file
main()
First Name Last Name Handicap Golf Score Over, Under or Par
Andrew Marks 11.2 72 Under Par
Betty Franks 12.8 89 Over Par
Connie William 14.6 92 Over Par
Donny Ventura 9.9 78 Under Par
Ernie Turner 10.1 81 Over Par
Fred Smythe 8.1 75 Under Par
Greg Tucker 7.2 72 Under Par
Henry Zebulon 8.3 83 Over Par
Ian Fleming 4.2 72 Under Par
Jan Holden 7.7 84 Over Par
Kit Possum 7.9 79 Under Par
Landy Bern 10.3 93 Over Par
Mona Docker 11.3 98 Over Par
Kevin Niles 7.1 80 Par
Pam Stiles 10.9 87 Over Par
Russ Hunt 5.6 73 Under Par
答案 0 :(得分:0)
如果名称太大(超过6个字符),则该标签会再向下移动一个。您可以检查名称是否太大,然后将其向下移动到自己的标签中。
numTabs = '\t' * (2-len(last_name)//6
或者更好的方法是使用@Michael Butscher在评论中提到的str.format
之类的东西。