Как я могу сделать некоторое время l oop, чтобы спросить пользователя, хотят ли они перезапустить программу - PullRequest
0 голосов
/ 20 февраля 2020

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

# IMPORT
import gtts as gTTS
import os 

# TTS
myText = input("Enter your text: ")

language = 'en'

output = gTTS.gTTS(text=myText, lang=language, slow=False,)


output.save("output.mp3")

os.system("start output.mp3")


# Restart
restart = False
while restart == False:
    question = raw_input(input("Do you want to continue yes / no ? ")
if question = "yes"
    print(myText)
else:
    quit

Ответы [ 3 ]

0 голосов
/ 20 февраля 2020

Я не уверен, является ли это форматом кода в вопросе, но я полагаю, что проблема в идентификации условия if. Попробуйте вместо этого:

while restart == False:
    question = raw_input(input("Do you want to continue yes / no ? ")
    if question == "yes"
        print(myText)
    else:
        restart=True
0 голосов
/ 20 февраля 2020

так как вы запустили l oop с установленным логическим значением, вы можете установить переменную restart в значение true (restart = true), чтобы оставить l oop

0 голосов
/ 20 февраля 2020

Вы можете использовать exit(), или quit(), или import os; os._exit(0), который принудительно выходит из программы, или import sys; sys.exit([error message]), который вызывает SystemExit.

import gtts as gTTS
import os 


myText = input("Enter your text: ")

language = 'en'

output = gTTS.gTTS(text=myText, lang=language, slow=False,)


output.save("output.mp3")

os.system("start output.mp3")


restart = False
while not restart:
    question = input("Do you want to continue yes / no ? ")
    if question == "yes":  # error was here
        print(myText)
    else:
        os._exit(0)
        # Or even just set restart to True and the loop will break
        # restart = True
...