基于用户选择的Python输入循环进行事件评分

时间:2019-05-08 22:41:41

标签: python

该程序的想法如下;

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,则程序应关闭。

任何帮助将不胜感激,因为当它已经包含多个循环时,我不知道如何在整个程序上获得一个循环。

1 个答案:

答案 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