Python Error-handeling方法中的名称

时间:2016-12-03 21:37:10

标签: function class methods error-handling infinite-loop

所以我试着做一个测验,这是我用Python学过的第一门课程,所以我并不擅长这项课程。无论如何,我试图为我的玩家做错误处理。

我会尝试描述我尝试做的事情以及我无法弄清楚的事情。

所以这是代码。

出于某种奇怪的原因,我的到来并没有从我希望它开始的地方开始。这也是我的第一个问题。

def save_names(self):
    playerlist = []
    current_players = []
    all_players_evey = list_of_all_players() #Makes all_players_ever into a list of names

for i in range(self.plyers): #just a number
    name=input("Pick a name")

    a=True
    while a:
        if name in self.current_players:
            print("Pick a different name")
            self.save_names(i)
        else:
            self.current_names.append(name)
            if (name+".txt") in all_players_ever:
                print("You already have a registered score")
                choice = input("1. wanna overwright your old score?\n2. Wanna save your old result?")
                if choice == "1":
                    a=False
                elif choice == "2":
                    self.save_names(i)    
                else:
                     print("Wrong choice")
            else:
                self.playerlist.append(name)
                a=False
return self.playerlist

所以,让我们说这次有2名球员。

所以我想要检查的第一件事是让当前的玩家不会选择相同的名字。 (因为在这种情况下它只有2个玩家,只有当第二个人输入他的名字时才会感兴趣。)

所以在那之后我想检查我是否已经将该名称中的分数保存为txt文件。

如果我这样做,玩家将获得这两个选项。

如果此人选择第一个选项(1),则脚本正常。它只是跳过迭代并转到下一个玩家。

然而,如果这个人选择第二个选项是2,那么剧本真的很混乱,在一些奇怪的循环中,我无法理解。如果第二个玩家选择与第一个玩家相同的名字,也会发生同样的事情。

因此。问题在于self.save_names(i)方法,如果我没有弄错的话。

我希望你们能够找到我想要的代码,并提出一个出色的解决方案!

0 个答案:

没有答案