Python 一直在制作骰子游戏
游戏中,你必须用3个骰子赢2英镑,或用2个骰子赢1英镑。你从5英镑开始,每次20便士 我想得到它,这样它会在赢的时候把钱加到变量“钱包”中 当你有机会的时候,把20便士减下来。我总是得到错误:作业前引用。多谢各位 这是我的代码:Python 一直在制作骰子游戏,python,Python,游戏中,你必须用3个骰子赢2英镑,或用2个骰子赢1英镑。你从5英镑开始,每次20便士 我想得到它,这样它会在赢的时候把钱加到变量“钱包”中 当你有机会的时候,把20便士减下来。我总是得到错误:作业前引用。多谢各位 这是我的代码: import sys, time, random wallet=5 print("*****************************") print("**********Dice Game**********") print("*******
import sys, time, random
wallet=5
print("*****************************")
print("**********Dice Game**********")
print("********By ShinLeona*********")
print("*****************************")
def menu():
start=input("Would you like to play?").lower()
if (start[0] == "y"):
wallet= wallet - 0.2
print("Wallet:", wallet ,)
elif (start[0] == "n"):
print("Withdrawing Funds....")
print("Thanks for playing!")
sys.exit()
else:
print("That is not a valid option")
menu()
def diceroll():
randomnumber = random.randint(1,6)
randomnumber2 = random.randint(1,6)
randomnumber3 = random.randint(1,6)
print("Generating dice...")
print(randomnumber)
print(randomnumber2)
print(randomnumber3)
if (randomnumber == randomnumber2) or (randomnumber == randomnumber3) or (randomnumber2 == randomnumber3):
wallet= wallet + 1
print("You've won £1")
menu()
elif (randomnumber and randomnumber2 == randomnumber3) or (randomnumber3 and randomnumber2 == randomnumber) or (randomnumber3 and randomnumber == randomnumber2):
wallet= wallet + 2
print("You've won £2")
menu()
else:
print("You lose")
menu()
menu()
diceroll()
您正在执行
wallet=wallet-0.2
,而没有先将值设置为wallet
试试这个
wallet = 0
wallet = wallet - 0.2
或者通过在每个函数中设置global wallet
,使变量成为全局变量
import sys, time, random
def menu(wallet):
start=input("Would you like to play?").lower()
if (start[0] == "y"):
wallet= wallet - 0.2
print("Wallet:", wallet ,)
diceroll(wallet)
elif (start[0] == "n"):
print("Withdrawing Funds....")
print("Thanks for playing!")
menu(wallet)
elif (start[0] == "e"):
sys.exit()
else:
print("That is not a valid option")
menu(wallet)
def diceroll(wallet):
randomnumber = random.randint(1,6)
randomnumber2 = random.randint(1,6)
randomnumber3 = random.randint(1,6)
print("Generating dice...")
print(randomnumber)
print(randomnumber2)
print(randomnumber3)
if (randomnumber == randomnumber2) or (randomnumber == randomnumber3) or (randomnumber2 == randomnumber3):
wallet = wallet + 1
print("You've won 1")
menu(wallet)
elif (randomnumber and randomnumber2 == randomnumber3) or (randomnumber3 and randomnumber2 == randomnumber) or (randomnumber3 and randomnumber == randomnumber2):
wallet = wallet + 2
print("You've won 2")
menu(wallet)
else:
print("You lose")
menu(wallet)
wallet=5
menu(wallet)
嗯,差不多就是这样。但是,这仍然有很多事情要做:如果你只是在开始时按回车键——错误,如果你没有钱,你仍然可以玩。由您完成这些任务。您的问题到底是什么?寻求调试帮助的问题(“为什么此代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现这些问题所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:我建议您准确地指出错误发生在哪一行。