我正在尝试用 python 制作一个基于答题器的游戏,并且我正在尝试进行升级。
def silvercoinX():
global x
x=1
return x
x = silvercoinX()
def silvercoinYUpdate():
y=10
y += round(y*1.33)
return y
y = silvercoinYUpdate()
silvercoinYUpdate()
print(round(y))
silvercoinYUpdate()
print(round(y))
silvercoinYUpdate()
print(round(y))
输出
23
23
23
我正在尝试输出
23
31 # (this being 23*1.33)
41 # (this being 31*1.33)
X 是您点击时获得的金额
注意这是恒定的
def silvercoinYUpdate():
y=10
y += round(y*1.33)
return y
# same as
def silvercoinYUpdate():
y = 10 # you reset it here
y = 10 + round(10*1.33)
y = 10 + round(13.3)
y = 23
return 23
您可能想要这样的东西:
def silvercoinYUpdate(y=10):
y += round(y*1.33)
return y
y = silvercoinYUpdate() # 23
y = silvercoinYUpdate(y) # 31
或
y=10
def silvercoinYUpdate():
global y
y += round(y*1.33)
return y
silvercoinYUpdate() # 23
silvercoinYUpdate() # 31
首先,您正在打印所有 y 值,不确定这是否是您想要做的。因为,您调用函数 silvercoinYUpdate() 三次,所以该函数所做的就是用 round(10*1.33) 添加 10,每次打印都会得到 23。
如果你想返回的话,你甚至不需要x在这里
23
31
41
只需在函数 silvercoinYUpdate() 之外声明 y 即可。
y = 10
def silvercoinYUpdate():
global y
if y <= 10:
y += round(y * 1.33)
else:
y = round(y*1.33)
return y
silvercoinYUpdate()
print(y)
silvercoinYUpdate()
print(y)
silvercoinYUpdate()
print(y)
如果不使用 if else 语句,您将得到输出:
23
54
等等。我假设您将使用 10 作为初始值。否则相应地设置你的 if-else 语句。