2017-04-25 1 views
-3

プログラムは、75%の確率でプレーヤーの数を倍にし、25%の確率で1を減らすことになっています。新しいプレーヤーが最後のプレーヤーよりも高いスコアを受け取った場合は、スコアとともにプレーヤー名をファイルに保存します。プレイヤーが5点を失ったら、プログラムは終了します。底部には私のpythonファイルをintに変換するには?

import random 

points = 1 
play = "yes" 
name = input("what is your name?") 
counter = 0 
while play.lower() == "yes": 
    risk = random.randint(0,3) 
    play = input(name.upper() + "!...want to risk it to bisk it?") 
    if risk == 0: 
     points -= 1 
     counter += 1 
     if counter == 5: 
      break 
    else: 
     points *= 2 
    fi = open("score.txt", "r") 
    score = fi.readlines() 
    fi.close() 
    scores = int(score[0]) 
    if (scores > points): 
     fi = open("score.txt","w") 
     fi.write(points + ":" + name) 
     fi.close() 
    print(score) 

には、以下を持つテキストファイル「score.txt」です:

0:No Name 

答えて

0

あなたが戻って使用可能なintとしてのデータを読んで意味ですか?

今、あなたはスコアデータをループする場合は
with open('score.txt') as F: 
    scores = F.readlines() 
    scores = [s.strip().split(':') for s in scores] 

for score, name in scores: 
    print(f"{name} scored:\t {int(score)}") 
関連する問題