код ничего не выводит, я не получаю результата при запуске программы на python

#python

#python

Вопрос:

У меня есть код, который при вводе игроков и их результатов в боулинге затем организует их в список 3 и выводит некоторые замечания, но когда я запускаю программу, ничего не выводится

 def isGreater(name1,name2):

    length=0

    if(len(name1)<len(name2)):

        length=len(name1)

    else:

        length=len(name2)

    for i in range(0,length):

        if(ord(name1[i])>ord(name2[i])):

            return True

        elif (ord(name1[i])<ord(name2[i])):

            return False

def scoresData():

    data=[]

    while True:

        player=input("Enter the Name and Score of a Player : ")

        if(player==''):

            break

        data.append(player.split());

    print("----------------------------------")

    print("tEntered Order::nPlayer Name t Score")

    print("----------------------------------")

    for player in data:

        print(player[0],"tt",player[1])

    print()

    for i in range(0,len(data) 1):

        for j in range(0,len(data)-i-1):

            if(isGreater(data[j][0],data[j 1][0])):

                temp=data[j]

                data[j]=data[j 1]

                data[j 1]=temp

    print("----------------------------------")

    print("tAplhabetical Order::nPlayer Name t Score")

    print("----------------------------------")

    for y in data:

        print(y[0],"tt",y[1])

    print()

    for i in range(0,len(data)):

        for j in range(0,len(data)-1):

            if(int(data[j][1])<int(data[j 1][1])):

                temp=data[j]

                data[j]=data[j 1]

                data[j 1]=temp

    print("----------------------------------")

    print("tScore Order::nPlayer Name t Score")

    print("----------------------------------")

    tot=0

    for x in data:

        print(x[0],"tt",x[1])

        tot=tot int(x[1])

    print()

    print("Congratulations! Mr/Ms." data[0][0]," You scored highest of ",data[0][1],".")

    print("Oh! Mr/Ms." data[-1][0]," Sorry to say that scored minimum of ",data[-1][1],".")

    print("Average of scores t:: ",int(tot/len(data)))
 

Пытаюсь выяснить, почему он не выводит никаких результатов, что бы это ни было. Я тоже не получаю никаких ошибок.

Комментарии:

1. Вы когда-нибудь вызывали какую-либо из этих функций?

2. добавьте scoresData() и запустите свой скрипт. Код работает нормально, ошибок нет.

3. Вау, я так увлекся, что пропустил это. Спасибо! довольно неловко

Ответ №1:

Я был настолько свободен, чтобы писать код для исправления неправильного ручного ввода, например «pete10», где он должен быть «pete 10». Поскольку в вашем коде не было очевидно, что для этого нужен пробел или табуляция.

Предложение заменить:

 for player in data:

        print(player[0],"tt",player[1])
 

С:

     index = 0

    print ('all data : %s' % data)

    for player in data:
        print ('player data: %s' % player)
        try:
            print(player[0],"tt",player[1])
            index  = 1
        except:
            incorrect_name = str(data[index])[2:-2]
#            print ('name is incorrect : %s' % incorrect_name)
            player_corrected = []
            player_name  = ''
            player_score = ''
            for char in incorrect_name:
#                print (char)
                if char.isalpha():           # checks for alphabet letters
                    player_name  = char
                else:                        # here you can check for other character 
                                             # types if other than integers.
                    player_score  = char
            player_corrected = [player_name, int(player_score)]
            print ('correced player data : %s.' % player_corrected)
            data[index]= player_corrected
#            print (data)
 

Наконец, чтобы запустить ваш скрипт:

 if __name__=='__main__':
    scoresData()
 

Ответ №2:

Вы должны вызвать функцию. Когда вы делаете

 def xxyyzz():
    xx
    yy
 

Вы только определяете функцию. Чтобы запустить его, выполните:

 xxyyzz() 
 

ниже. Или в вашем случае:

 scoresData()
 

Ответ №3:

Добавьте в конец вашего файла:

 if __name__=='__main__':
    scoresData()