在Linux上,使用Sublime Text。
os.system('clear')
应该只是清除控制台窗口。 os.system('cls')
适用于 Windows。但它回来的方式跟我不一样。
代码:
import os
clear = lambda: os.system('clear')
move_dict = {'rock': 1, 'paper': 2, 'scissors': 3}
user1 = input('Rock, paper or scissors: ').lower().strip()
user1_x = move_dict.get(user1)
clear()
user2 = input('Rock, paper or scissors: ').lower().strip()
user2_x = move_dict.get(user2)
clear()
diff = user1_x - user2_x
if diff in [-1, 2]:
print(f'Player 1\'s {user1} loses. Player 2\'s {user2} wins.')
elif diff in [1, -2]:
print(f'Player 1\'s {user1} wins. Player 2\'s {user2} loses.')
else:
print(f'Both players chose {user1}, draw.')
返回:
Rock, paper or scissors: rock
TERM environment variable not set.
Rock, paper or scissors: scissors
TERM environment variable not set.
Player 1's rock wins. Player 2's scissors wins.
为什么当clear运行时返回“TERM环境变量未设置”而不是仅仅清除控制台?
尝试使用 def 而不是 lambda 定义函数,同样的错误。没有帮助。以前问过类似的问题,但没有给出适合初学者的答案。
有趣,
os.system('clear')
对我来说完全没问题。我必须 os.system('unset TERM; clear')
才能重现您的错误。
当您访问 python 脚本时,您的 TERM env 很可能未设置、未继承
最简单的方法是
os.system('TERM=xterm-256color clear')
您可以将 xterm-256color
替换为您的终端支持的任何内容