Могу ли я получить свой код для воспроизведения после определенного ввода?

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

Я просматривал подобные вопросы здесь и вижу, что у других были похожие вопросы, но я не понимаю, ответы даны. Я попробовал def main() в начале и поместил main(), где я хочу, чтобы код сбрасывался, но тогда запрос на ввод пользователя просто не появляется.

def main():
    number = int(input("Please enter an integer between 0 and 127: "))
    if number > 127 or number < 0:
        print("I'm sorry, that is not an acceptable value. Please try again")
        main()
    elif number <= 127 and number >= 0:
        print("WIP")
    else:
        print("I'm sorry, something went wrong. Please try again and be sure to enter an integer between 0 and 127.")
        main()
0
задан HewwoCraziness 27 June 2019 в 00:06
поделиться

3 ответа

Вы близки. Необходимо звонить main в файл Python для фактического выполнения его в первый раз, когда скрипт запущен

def main():
    number=int(input("Please enter an integer between 0 and 127: "))
    if number>127 or number<0 :
        print("I'm sorry, that is not an acceptable value. Please try again")
        main()
    elif number<=127 and number>=0 :
        print("WIP")
    else:
        print("I'm sorry, something went wrong. Please try again and be sure to enter an integer between 0 and 127.")
        main()

main()
4
ответ дан FHTMitchell 27 June 2019 в 00:06
поделиться

попробуйте это как другой метод кодирования вашей программы:

 while True:
        number=int(input("Please enter an integer between 0 and 127: "))
        if number>127 or number<0 :
            print("I'm sorry, that is not an acceptable value. Please try again")
        elif number<=127 and number>=0 :
            print("WIP")
            break
        else:
            print("I'm sorry, something went wrong. Please try again and be sure to enter an integer between 0 and 127.")
0
ответ дан Ghassen 27 June 2019 в 00:06
поделиться

Добро пожаловать в кодирование! Это - аккуратная попытка попытки решить проблему. Чтобы заставить это работать, необходимо удостовериться, что вызвали основную функцию в нижней части кода (функции не будут работать, если Вы не скажете им!

def main():
    number=int(input("Please enter an integer between 0 and 127: "))
    if number>127 or number<0 :
        print("I'm sorry, that is not an acceptable value. Please try again")
        main()
    elif number<=127 and number>=0 :
        print("WIP")
    else:
        print("I'm sorry, something went wrong. Please try again and be sure to enter an integer between 0 and 127.")
        main()

main()

, В то время как это будет работать, это могло бы вызвать проблемы в будущем. Я предложил бы использовать while цикл для этого:

while True:
    number=int(input("Please enter an integer between 0 and 127: "))
    if number>127 or number<0 :
        print("I'm sorry, that is not an acceptable value. Please try again")
    elif number<=127 and number>=0 :
        print("WIP")
        break;
    else:
        print("I'm sorry, something went wrong. Please try again and be sure to enter an integer between 0 and 127.")

while цикл будет работать как условие, которое Вы даете ему, true. Вы можете break из цикла рано... хорошо, с помощью break ключевое слово.

-2
ответ дан Oreganop 27 June 2019 в 00:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: