【发布时间】:2020-07-16 10:18:44
【问题描述】:
我最近在学习 Web 开发后开始学习 python。我想在我的 VSCode 终端中尝试我的第一个程序,但它不起作用。我的程序确实可以在我的 Mac 终端中运行。我有最新的 VSCode 版本和 MacOS Mojave。我使用 Python 3.8。我使用“Code Runner”插件运行代码。
这是我的程序:
import random
import sys
print('ROCK, PAPER, SCRISSORS')
wins = 0
losses = 0
ties = 0
while True:
print('--- %s Wins, %s Losses, %s ties ---' % (wins, losses, ties))
while True: #This While loop activates if a user doesn't type 'r', 'p', 's', or 'q'.
print(
"Enter a move: -|- rocks = r, paper = p, scissors = s -|- You can quit by typing 'q'")
userMove = input()
if userMove == 'q':
sys.exit()
elif userMove == 'r' or userMove == 's' or userMove == 'p':
break
randomNumber = random.randint(1, 3)
myMove = ''
losing = 'You lost'
winning = 'You won!!!'
tie = 'It s a tie. I will beat you later!'
if randomNumber == 1:
myMove = 'rock'
elif randomNumber == 2:
myMove = 'paper'
else:
myMove = 'scissors'
if (userMove == 'r' and myMove == 'paper' or userMove == 'p' and myMove == 'rock' or userMove == 's' and myMove == 'paper'):
print(winning)
wins = wins + 1
elif (userMove == 'r' and myMove == 'rock' or userMove == 'p' and myMove == 'paper' or userMove == 's' and myMove == 'scissors'):
print(tie)
ties = ties + 1
elif (userMove == 'r' and myMove == 'scissors' or userMove == 'p' and myMove == 'scissors' or userMove == 's' and myMove == 'rock'):
print(losing)
losses = losses + 1
这基本上是一个简单的石头剪刀布游戏。当我输入“r”、“p”或“s”时,它会这样说:
'NameError: name 'r' is not defined'
我也尝试在 vscode 中运行 mac 终端,但由于某种原因没有成功。
这是一个错误,还是我的错?任何答案将不胜感激。
编辑:
这是我的“Code Runner”插件中的错误。如果您遇到同样的问题,请转到您的 Code Runner JSON 设置,并将“Python -u”更改为“python3”。
【问题讨论】:
-
代码没有问题,在jupyter notebook中运行良好
-
你使用的是 python 2
标签: python macos visual-studio-code terminal