我是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()
答案 0 :(得分:1)
您在评论中指出您的环境为trinket.io。 Trinket旨在让您几乎可以在任何计算机和操作系统上进行编程(包括Python)。它适用于刚开始学习编程的初学者。
我刚刚进行了一些网络搜索,但找不到任何方法清除trinket.io
中的屏幕。 Trinket受到有意限制,因此您不会在计算机上遇到严重麻烦,但是这种保护措施使您无法执行诸如清除屏幕之类的事情。
传统的事情也是如此-我在唯一的打印输出在纸上时做的那种事情,这是无法清除的。当您想清除屏幕时,请打印一些空白行,以便用户知道您在做不同的事情。然后重新打印菜单。打印50行空白行几乎可以肯定会使先前的打印不在用户的视野之内。根据需要调整空白行的数量。
答案 1 :(得分:1)
您可以使用lambda
import os
clear = lambda: os.system('clear')
然后您致电clear()
随时清除终端机
希望这会有所帮助!