2017-11-12 14 views
0

python 3プログラムでコード出力列を並べていることについて長年のlurkerに質問があります。選挙プログラムのための私のコードはここにありますが、私はお互いに並んで出力を得ることに問題があります。その取引が何であるか不思議だった。/tを使用してみましたが運がありませんでした。python 3.x - 出力アライメントを修正するには

def getcandidates(): 
    candidate_number = input("Enter the number of the candidates in the election: ") 
    candidate_number = int(candidate_number) 
    return candidate_number 


def get_votes(num_candidates): 
    candidate_names = [] 
    candidate_votes = [] 

    space = (20 - len(candidate_names)) * " " 
    percent = 10 
    print("{0}{1} - {2}%".format(candidate_names, space, percent)) 

    for candidate in range(0, num_candidates): 
     name = input("Enter the name of candidate #{}: ".format(candidate + 1)) 
     vote = input("Enter the number of votes for candidate {}: ".format(candidate + 1)) 
     candidate_names.append(name) 
     candidate_votes.append(int(vote)) 
    return candidate_names, candidate_votes 


def calculate_results(names, votes): 
    print("Election Results") 
    print('-' * 45) 
    total_votes = sum(votes) 
    for candidate in range(0, len(names)): 
     if votes[candidate] == max(votes): 
      print("{} \t - {:2.1f}% <-- First Place".format(names[candidate], votes[candidate]/total_votes * 100)) 
     elif votes[candidate] == min(votes): 
      print("{} \t - {:2.1f}% <-- Last Place... HAHAHAHA!".format(names[candidate], votes[candidate]/total_votes * 100)) 
     else: 
      print("{} \t - {:2.1f}%".format(names[candidate], votes[candidate]/total_votes * 100)) 


candidates = getcandidates() 

candidate_names, candidate_votes = get_votes(candidates) 

calculate_results(candidate_names, candidate_votes) 
+1

は...あなたの代わりに、画像へのリンクの問題で使用される実際のコードを入れて、あなたのコードを記述し、それを選択し、編集ボックスの上に中括弧を使用してくださいインデントする。 –

+0

ねえ男。コードをコピーして貼り付けてください。コードのスクリーンショットはここではうまく受信されません。D – Jeronimo

+0

固定コードフォーマットがここに正しく表示されるはずです。 –

答えて

0

一貫した書式設定を行うには、候補名を切り捨てる必要があります。

{:.10s}をフォーマット文字列の最初の項目として使用します。 IPythonで

例:

In [1]: '{:.10s}'.format('this is a test') 
Out[1]: 'this is a ' 
+0

には、spacingに間違った変数名が含まれていました。 –

関連する問題