Как заставить программу перезапустить себя по команде

#python

#python

Вопрос:

Меня зовут Хуан Сальседо, и я работаю над программой для выпускных экзаменов по информатике и программной инженерии. Я работаю над этой программой около двух дней, и я хочу, чтобы у моего пользователя была возможность либо воспроизвести головоломку, либо снова, либо прекратить воспроизведение. Как бы я это сделал? Спасибо за вашу помощь, с уважением Хуан!

 # Hangman
# Juan Salcedo
# 3.7.19

# Importing necessary modules
import random
import sys

print(dir(random))
print(dir(sys))

# Randomize list and break down into letters
words = ['bread', 'clock', 'mouse', 'banana', 'suitcase', 'kitten', 'jupiter', 'bucket', 'cake', 'goose']

random.choice(words)

answer = list(random.choice(words))

# Replace letters with dashes '-'
display = []
display.extend(answer)

for i in range(len(display)):
    display[i] = '-'

# Modified after "Repl_w/_dash" branch
print(' '.join(display))

# Asks user or letters until all are guessed correctly
num = 0

while num < len(answer):
    user_guess = input('Guess a letter: ')
    # Modified after "User input" branch
    user_guess = user_guess.lower()
    print(num)

    # Replaces dashes with user chosen letters
    for i in range(len(answer)):
        if answer[i] == user_guess:
            display[i] = user_guess
            num = num   1

    print(' '.join(display))
  

Ответ №1:

вы можете просто использовать while цикл

 import this
import that

while True:
    #play game
    print('do you want to play again? y/n')
    ans = input()
    if ans != 'y': 
        break
  

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

1. Спасибо за ваш совет, но у меня все еще проблемы с моей программой. Я добавил код, который вы рекомендовали, но как только я решаю головоломку, и она спрашивает меня, хочу ли я поиграть снова, она не перезапускает программу, она просто повторяет «Вы хотели бы поиграть снова? да / нет «Извините, если я кажусь невежественным, я все еще учусь.

Ответ №2:

Это должно сработать. Я включил полный код. Вот код:

 # Hangman
# Juan Salcedo
# 3.7.19

# Importing necessary modules
import random
import sys
while True:
    print(dir(random))
    print(dir(sys))
    # Randomize list and break down into letters
    words = ['bread', 'clock', 'mouse', 'banana', 'suitcase', 'kitten', 'jupiter', 'bucket', 'cake', 'goose']
    random.choice(words)
    answer = list(random.choice(words))
    # Replace letters with dashes '-'
    display = []
    display.extend(answer)
    for i in range(len(display)):
        display[i] = '-'
    # Modified after "Repl_w/_dash" branch
    print(' '.join(display))
    # Asks user or letters until all are guessed correctly
    num = 0
    while num < len(answer):
        user_guess = input('Guess a letter: ')
        # Modified after "User input" branch
        user_guess = user_guess.lower()
        print(num)
        # Replaces dashes with user chosen letters
        for i in range(len(answer)):
            if answer[i] == user_guess:
                display[i] = user_guess
                num = num   1
        print(' '.join(display))
    print('do you want to play again? y/n')
    ans = input()
    if ans != 'y': 
        break