首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使我的藏物功能发挥作用?每次我写“藏”时,它都会用“你有0颗钻石”来回应。虽然我已经跑过好几次了

如何使我的藏物功能发挥作用?每次我写“藏”时,它都会用“你有0颗钻石”来回应。虽然我已经跑过好几次了
EN

Stack Overflow用户
提问于 2022-01-09 03:48:01
回答 1查看 35关注 0票数 0

这是我的密码:

代码语言:javascript
复制
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颗钻石”,那将是非常有帮助的

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-09 04:17:59

您的代码有多个问题,首先是概念和样式,最后是任务的实际完成。我重新编写了您的代码,以便MineStash在逻辑上工作(至少对我来说是这样)。

免责声明:下面的代码在多个点上仍然是错误的,但是为了便于OP理解,我想以这种形式发布它。

代码语言:javascript
复制
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,因此一旦挖掘,就不会多次添加到存储中。

不确定TimeMT应该如何工作,所以我没有触及它们。

你应该改变什么(同时也要学习):

  • 一般结构。如果有一些数据与某些逻辑相结合,很可能是一个班级。您必须了解它是什么,以及应该如何将它用于这样的任务,并且在变量作用域中不会出现如此奇怪的情况。
  • 函数概念也许你感觉到了一些东西,但你肯定不明白。
  • Python代码样式这里很容易读懂简介。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70638280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档