首页 > 解决方案 > 我在 python 中对齐结果时遇到问题

问题描述

#Very simple frequency checking project 
import random

def rollingadie(x, y) :
    die=[0,0,0,0,0,0]
    Ratio=[0,0,0,0,0,0]
    random.seed(y)
    for times in range(x) :
        roll = random.randrange(1,7) #roll a die and count the freqeucny and save it on arrary
        if roll == 1 :
            die[0] +=1
        elif roll ==2 :
            die[1] +=1
        elif roll ==3 :
            die[2] +=1
        elif roll ==4 :
            die[3] +=1
        elif roll ==5 :
            die[4] +=1
        elif roll ==6 :
            die[5] +=1

    print(f'Die Face{"Frequency":>13}{"Ratio":>13}')
    for index, value in enumerate(die) :
        print(f'{index+1:>8}{value:>13}{(value/times)*100:>13.1f}') #print out the result of frequency
        Ratio[index]= int((value/times)*100) 
    print()

    print(f'Die Face{"Ratio":>13}{"Bar Chart":>15}')
    for index, value in enumerate(Ratio):
        print(f'{index+1:>8}{Ratio[index]:>13}{"*"*Ratio[index]}') # Display the frequency with *

你好!这对你们来说可能是非常简单的代码..但是我无法对齐打印。 麻烦

如您所见..星星从左对齐。我希望这个从左边开始,让我通过看右边来识别星星数量的差异。我该怎么做?

提前致谢

标签: python

解决方案


您只需要将对齐字符从 翻转><

f'{index+1:<8}{Ratio[index]:<13}{"*"*Ratio[index]}')


推荐阅读