如何清除屏幕并返回菜单? Python 3.0

时间:2019-03-02 14:14:42

标签: python python-3.x

我是Python 3的新手,我被追随。

我正在为School项目创建一个Hangman游戏,似乎无法清除屏幕并返回到菜单

这是我的代码,如下所示

import random
import os

WORDS = ["handkerchief", "accommodate", "indict", "impetuous"]
MAX_GUESSES = 7

print("^^^^^^^^^^THIS IS HANGMAN^^^^^^^^^^")

while True:

    input('Press <ENTER> to start a new game or <CTRL>+<C> to quit.')

    word = random.choice(WORDS)
    guess = ['_'] * len(word)
    guesses = set()
    n = MAX_GUESSES

    while True:

        print('\nYour word:', ' '.join(guess))
        print('You have {} chances left.'.format(n))

        if '_' not in guess:
            print('Congratulations, you win!\n')
            break

        if n < 1:
            print('Sorry, no guesses left. You lose!\n')
            break

        character = input('Guess a new character: ')

        if len(character) != 1:
            print('You must enter exactly one character!')


        if character in guesses:
            print('You have already guessed that character!')


        guesses.add(character)

        if character not in word:
            n -= 1


        for i, c in enumerate(word):
            if c == character:
                guess[i] = character

        os.system('clear')
        main()

2 个答案:

答案 0 :(得分:1)

您在评论中指出您的环境为trinket.io。 Trinket旨在让您几乎可以在任何计算机和操作系统上进行编程(包括Python)。它适用于刚开始学习编程的初学者。

我刚刚进行了一些网络搜索,但找不到任何方法清除trinket.io中的屏幕。 Trinket受到有意限制,因此您不会在计算机上遇到严重麻烦,但是这种保护措施使您无法执行诸如清除屏幕之类的事情。

传统的事情也是如此-我在唯一的打印输出在纸上时做的那种事情,这是无法清除的。当您想清除屏幕时,请打印一些空白行,以便用户知道您在做不同的事情。然后重新打印菜单。打印50行空白行几乎可以肯定会使先前的打印不在用户的视野之内。根据需要调整空白行的数量。

答案 1 :(得分:1)

您可以使用lambda

import os
clear = lambda: os.system('clear')

然后您致电clear()随时清除终端机

希望这会有所帮助!