下面是一些代碼,你想要做什麼,但它從我的get_data()
功能,而不是從input()
獲取數據。這使代碼更易於測試。但是,一旦完成開發程序,您可以輕鬆地用input()
替換get_data()
電話。
關鍵的想法是,除了將輸入數據的整數版本保存到playerscores
之外,我們還將它以原始字符串形式保存在名爲row
的單獨列表中。所以,當我們完成讀取給定行的數據時,我們可以輕鬆地將其保存到文件中。這比試圖從playerscores
分割數據並將其轉換回字符串更簡單。 scores.txt的
from random import seed, randrange
# Seed the randomizer
seed(42)
# Make some fake data, to simulate user input.
# Print & return a random number from 1 to 5, in string form
def get_data():
n = str(randrange(1, 6))
print(n)
return n
playernames = ['A', 'B', 'C', 'D', 'E', 'F']
numjudges = 5
playerscores = []
scoresfile = open('scores.txt', 'w')
for players in playernames:
row = []
for z in range(1, numjudges + 1):
print("Enter score from Judge", z, "for couple ", players, "in round 1:")
data = get_data()
playerscores.append(int(data))
row.append(data)
scoresfile.write(','.join(row) + '\n')
print()
scoresfile.close()
典型輸出
Enter score from Judge 1 for couple A in round 1:
1
Enter score from Judge 2 for couple A in round 1:
1
Enter score from Judge 3 for couple A in round 1:
3
Enter score from Judge 4 for couple A in round 1:
2
Enter score from Judge 5 for couple A in round 1:
2
Enter score from Judge 1 for couple B in round 1:
2
Enter score from Judge 2 for couple B in round 1:
1
Enter score from Judge 3 for couple B in round 1:
5
Enter score from Judge 4 for couple B in round 1:
1
Enter score from Judge 5 for couple B in round 1:
5
Enter score from Judge 1 for couple C in round 1:
4
Enter score from Judge 2 for couple C in round 1:
1
Enter score from Judge 3 for couple C in round 1:
1
Enter score from Judge 4 for couple C in round 1:
1
Enter score from Judge 5 for couple C in round 1:
2
Enter score from Judge 1 for couple D in round 1:
2
Enter score from Judge 2 for couple D in round 1:
5
Enter score from Judge 3 for couple D in round 1:
5
Enter score from Judge 4 for couple D in round 1:
1
Enter score from Judge 5 for couple D in round 1:
5
Enter score from Judge 1 for couple E in round 1:
2
Enter score from Judge 2 for couple E in round 1:
5
Enter score from Judge 3 for couple E in round 1:
4
Enter score from Judge 4 for couple E in round 1:
2
Enter score from Judge 5 for couple E in round 1:
4
Enter score from Judge 1 for couple F in round 1:
5
Enter score from Judge 2 for couple F in round 1:
3
Enter score from Judge 3 for couple F in round 1:
1
Enter score from Judge 4 for couple F in round 1:
2
Enter score from Judge 5 for couple F in round 1:
4
內容
1,1,3,2,2
2,1,5,1,5
4,1,1,1,2
2,5,5,1,5
2,5,4,2,4
5,3,1,2,4
人想出了一個解決方案嗎? – somebrick
爲什麼你將從input()得到的字符串轉換爲整數?你打算在以後的程序中跟他們做算術嗎? –
您可以將當前行的輸入字符串保存到列表中,然後在'for z'循環完成後將它們連接到單個字符串中(使用編碼器答案中顯示的技術),因此您可以爲此寫入數據行到文件。 –