该程序的想法如下;
1)要求用户选择1或2
2)如果选择一个,则提示用户输入分数。如果选择2,则用户应该能够查看分数。
3)用户输入或查看分数后,他们应该能够添加其他分数或查看分数。键入Y
应该使它们返回程序的开头。 N
应该说他们可以关闭程序,也可以关闭程序。
目前,数字选择适用于分数条目,但我不确定如何使它重新启动,因为用户希望添加或查看更多分数。
这是程序的当前状态; </ p>
print ("Type 1 to a add a score.")
print ("Type 2 to view scores.")
action = input("Please type a number: ")
if action == "1":
print ("Enter a score?")
eventscore = int(input ("Please type their score: ")
score = eventscore
f = open("scores.txt", "a")
f.write(eventscore)
f.write("\n")
f.close()
print("The score for" , score, "has been saved.")
elif action == "2":
print ("Type 1 to view all scores.")
print ("Type 2 to view scores for a specific team.")
scorecheck = input("Please type a number: ")
if scorecheck == "1":
f = open("scores.txt", "r")
for line in f:
allscores = f.readlines()
print(allscores)
f.close
elif scorecheck == "2":
teamcheck= input ("Please enter the team name: ")
while True:
while True:
answer = input('Want to add a new score or view existing scores? (Y/N): ')
if answer in ('Y', 'N'):
break
print ("Please enter 'Y' or 'N'.")
if answer == 'y':
continue
else:
print ("You can now close the program.")
break
当前程序可以启动,要求用户选择是否要添加或查看分数,然后询问他们是否要添加/查看更多或关闭程序。如果用户输入“ Y”,则程序应完全重新启动,但仍需要具有用于添加/查看的循环。如果他们输入N
,则程序应关闭。
任何帮助将不胜感激,因为当它已经包含多个循环时,我不知道如何在整个程序上获得一个循环。
答案 0 :(得分:0)
while True:
ans = input("Enter option (y, Y):")
if ans == "":
print("finished - exit program")
break
if ans in ['y', 'Y']:
askQuestion()
def askQuestion():
...top bit of your code
在我的手机上,只提供了伪代码。有一个比这更好的方法。正如国际象棋所言,如果您找到一个好的举动,那就寻找一个更好的举动。
同样规范的是在with
上下文管理器中编写打开文件的方式,如下所示:
with open('filename.txt', 'a') as f:
f.write..etc