无法正确格式化Python中的输出

2024-10-03 17:15:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我无法正确格式化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

Tags: namereadlinenumfileoverfirstlastscore
1条回答
网友
1楼 · 发布于 2024-10-03 17:15:42

如果名称太大(超过6个字符),选项卡将再向下移动一个。您可以检查名称是否太大,然后自己将其下移制表人使用类似 numTabs = '\t' * (2-len(last_name)//6

或者更好的方法是使用@Michael Butscher在评论中提到的str.format。你知道吗

相关问题 更多 >