【发布时间】:2011-07-01 03:13:31
【问题描述】:
主程序
# import statements
import random
import winning
# Set constants
win = 0
lose = 0
tie = 0
ROCK = 1
PAPER = 2
SCISSOR = 3
# Main Program for the Rock Paper Scissor game.
def main():
# set variable for loop control
again = 'y'
while again == 'y':
# Display menu
display_menu()
# prompt for user input
userSelection = input('Which would you like to play with (1, 2, 3)?: ')
computerSelection = random.randint(1, 3)
# Call winner module to decide the winner!
print(winning.winner(userSelection, computerSelection))
# Ask to play again and make selection
again = input('Would you like to play again (y/n)?')
def display_menu():
print('Please make a selection: ')
print(' 1) Play Rock')
print(' 2) Play Paper')
print(' 3) Play Scissor')
# Call main
main()
第二个文件:wining.py:
# This module will decide on who won based on input from Main
def winner(userInput, computerInput):
if userInput == ROCK and computerInput == SCISSOR:
print('You win! Rock crushes Scissor!')
win += 1
elif userInput == SCISSOR and computerInput == PAPER:
print('You win! Scissor cuts Paper!')
win += 1
elif userInput == PAPER and computerInput == ROCK:
print('You win! Paper covers Rock!')
win += 1
elif userInput == computerInput:
print('You tied with the computer! Please try again!')
tie += 1
else:
print('You lost! Please try again!')
lose += 1
错误
Traceback (most recent call last):
File "C:/Python32/RPS_Project/Main.py", line 14, in <module>
ROCK = r
NameError: name 'r' is not defined
我已经尝试过引号和所有方法,但无法解决这个问题!!!有什么帮助吗? 请,谢谢!
【问题讨论】:
-
请提供连贯的信息。回溯与代码没有任何共同之处……再说一次:我们没有做你的功课
-
@Alli Err... "ROCK = r" 不在您发布的代码中。请发布实际损坏的代码。正如所发布的,它应该运行良好,因为它将 ROCK 设置为 1。
-
不要求任何人做我的作业。我只是寻求帮助学习。我深表歉意,不会再使用本网站寻求帮助,请理解我做错了什么......谢谢您,给您带来的不便深表歉意。
-
@Alli:您发布的代码不会产生您发布的错误。
-
@Alli!你也必须定义
lose!您必须定义您使用的每个变量名称。
标签: python variables definition nameerror