Переход по количеству объектов массива завершает выбор последнего объекта массива - PullRequest
0 голосов
/ 16 апреля 2020

(Примечание: я сделал массив go от 1 до 4, вместо 0 до 3, для удобства)
Я хочу проверить, больше ли выбранное число, чем количество объектов в массиве (в настоящее время 4). Но если я выберу число 1 над последним (5), а затем выберу число перед первым (0), оно выберет последнее число из массива (4).

Я понятия не имею, что вызывает это.
Если кто-то хочет помочь, вот проблемная c часть кода:

selection = input('').split(" ")[0]
selection_number = int(selection) - 1

while selection_number < 0 :
    print("Error: Invalid Number")
    time.sleep(1)
    print ("\033[A                             \033[A")
    print ("\033[A                             \033[A")
    print ("\033[A                             \033[A")
    print ("\033[A                             \033[A")
    print()
    print("Select a song (use numbers)")
    selection = input('').split(" ")[0]
    selection_number = int(selection) - 1

while selection_number >= numberofsongs :
    print("Error: Invalid Number")
    time.sleep(1)
    print ("\033[A                             \033[A")
    print ("\033[A                             \033[A")
    print ("\033[A                             \033[A")
    print ("\033[A                             \033[A")
    print()
    print("Select a song (use numbers)")
    selection = input('').split(" ")[0]
    selection_number = int(selection) - 1

clearTerminal()
print("Now playing: " + musicnamelist[selection_number])
playsound(musicpathlist[selection_number], False)

(извините, если мой engli sh смущает вас)

...