我无法完成此计划。该计划应该有一个由4名成员组成的团队。每位成员共举办3场比赛。
我需要编写一个程序,询问每个成员他们的名字,并询问他们每个成员的3场比赛。这些名称需要保存在名为“bowling.txt”的文本文件中并显示它们。应编写另一个单独的程序来读取“bowling.txt”文件中的记录,并且还应显示每个投球手的平均分数。
到目前为止,这是我的计划:
decode_image_op.cc
-----------------这是单独的'R'文件---------------
# This program will ask
# the user for
# bowling scores 'W'.
def game(bowling):
bowling_file = open('bowling.txt', 'w')
for count in range(1, 5, + 1):
print('Enter the name and the score for each game for member #',
count, sep='')
name = input('Name: ')
game1 = input('Score for game 1: ')
game2 = input('Score for game 2: ')
game3 = input('Score for game 3: ')
bowling_file.write(name + '\n')
bowling_file.write(game1 + '\n')
bowling_file.write(game2 + '\n')
bowling_file.write(game3 + '\n')
print()
bowling_file.close()
print('All games have been printed to bowling.txt')
def main():
game('')
main()
答案 0 :(得分:0)
当您不知道错误是什么时调试程序并不容易,但我看到一个非常明显的问题。
在" W"程序,你为每个玩家写了四件事:
bowling_file.write(name + '\n')
bowling_file.write(game1 + '\n')
bowling_file.write(game2 + '\n')
bowling_file.write(game3 + '\n')
在" R"程序,你只需读取行并尝试将它们全部转换为int
s。这在第一行就会失败,因为它不是int
,而是一个名字。
此外,您不会循环播放器数量或每位玩家的游戏数量;你只是试图将所有线条用作单个玩家的游戏。更不用说你从未设置count
变量,这可能是玩家编号。
所以,你可以做这样的事情,就像在你的" W"程序:
for count in range(1, 5, + 1):
name = bowling_file.readline()
game1 = int(bowling_file.readline())
game2 = int(bowling_file.readline())
game3 = int(bowling_file.readline())
average = (game1 + game2 + game3) / 3
print('The average score for member #', count, ' is ', average, sep='')