这是我的密码:
import random
Mine_time = 0
Mining = 0
Diamond = 0
def Mine(Mining):
if Doing == "mine" or Doing == "Mine":
Mining = random.randint(0, 10)
print("you mined", Mining,"diamonds ")
def Stash(Mining, Diamond):
if Doing == "Stash" or Doing == "stash":
Diamond = Diamond + Mining
print("You have", Diamond, "diamonds")
def Time(Mine_Time):
if Doing == 'Time' or Doing == 'time':
print('Your Time is:', Mine_time)
def MT(Mine_Time):
if Mine_time > 0:
print("this action is on cooldwon please wait", Mine_time, "seconds")
while True:
Doing = input("\n")
Mine(Mining)
Stash(Mining, Diamond)
Time(Mine_time)
MT(Mine_time)可能的命令是藏起来、我的和时间,但是时间还没有做任何事情。如果我每次运行藏物时没有显示“你有0颗钻石”,那将是非常有帮助的
发布于 2022-01-09 04:17:59
您的代码有多个问题,首先是概念和样式,最后是任务的实际完成。我重新编写了您的代码,以便Mine和Stash在逻辑上工作(至少对我来说是这样)。
免责声明:下面的代码在多个点上仍然是错误的,但是为了便于OP理解,我想以这种形式发布它。
import random
Mine_time = 0
Mining = 0
Diamond = 0
def Mine():
global Mining
if Doing == "mine" or Doing == "Mine":
Mined = random.randint(0, 10)
print("you mined", Mined, "diamonds ")
Mining += Mined
def Stash():
global Diamond, Mining
if Doing == "Stash" or Doing == "stash":
Diamond = Diamond + Mining
Mining = 0
print("You have", Diamond, "diamonds")
def Time():
if Doing == 'Time' or Doing == 'time':
print('Your Time is:', Mine_time)
def MT():
if Mine_time > 0:
print("this action is on cooldown please wait", Mine_time, "seconds")
while True:
Doing = input("\n")
Mine()
Stash()
Time()
MT()我改变的是:
global。所以他们把自己的价值放在循环之间。Mine现在首先获得随机的Mined值,这个值显示给用户,然后添加到Mining中。所以如果你开采了几次,你就什么都没有损失。Stash现在将Mining重置为0,因此一旦挖掘,就不会多次添加到存储中。不确定Time和MT应该如何工作,所以我没有触及它们。
你应该改变什么(同时也要学习):
https://stackoverflow.com/questions/70638280
复制相似问题