マイリストは次のようにレイアウトされている形式で印刷が:パイソン3 - リストの整数を添加し、
def points():
template = "|{0:30}|{1:30}|{2:30}|{3:30}|{4:30}"
lol = template.format("1st name: ","2nd Name: ", "won: ", "lost: ","points: ")
print(lol)
with open(r'prac2.txt', 'r') as file:
for line in file:
data = line.split(',')
if data[2] >= ('1'):
poin = (int(float(data[2]))) * 3)
add_list = data.insert(4,poin)
print('|{0[0]:<30}|{0[1]:<30}|{0[2]:<30}|{0[3]:<30}|{0[4]:<30}'.format(data))
points()
コードになっている。
1st name, last name, wins, losses
zac,kop,5,6
jack,mop,0,11
farth,tal,11,0
darth,vader,2,9
nump,kk,1,10
私のコードはこれです少なくとも1勝でプレイヤーの情報だけを印刷する。
それぞれの勝利は3点ですので、プログラムは各選手のポイントを計算し、それらの情報をテーブルに並べて表示する必要があります。
問題は、改行がインデントされた点を印刷するとき、リストの最後のプレイヤーだけがこの問題の影響を受けないということです。助けてください。ここで
if data[2] >= ('1'):
は、あなたが2つの文字列を持っており、辞書的にそれらを比較している:あなたの問題の
あなたのリストは見ていませんリストのように。 – Goyo
文字列は辞書順に比較されます。数値の比較をしたい場合: '' int(data [2])> = 1'''。私はこれが重複した質問であると確信しています、私はまだそれを見つけていません。 – wwii
'if data [2]> =( '1')'英数字の比較。それは慎重ですか? –