Python 赢得的价值';t商店
我有这个问题已经有一段时间了,我的一些价值观会拒绝存储。这很可能是因为我在某个地方违反了一条规则,但在网上搜索了一段时间后,我找不到问题所在 代码:Python 赢得的价值';t商店,python,Python,我有这个问题已经有一段时间了,我的一些价值观会拒绝存储。这很可能是因为我在某个地方违反了一条规则,但在网上搜索了一段时间后,我找不到问题所在 代码: 我之前尝试给变量stancount一个数字,然后通过输入运行它,但是它只会传递输入之前我给它的数字。当您尝试打印它时,stancount变量超出范围 您可以将其作为参数传递到print\u mining\u values()函数中,并以这种方式进行打印 因此,print\u mining\u values()将变成: def view_mining
我之前尝试给变量
stancount
一个数字,然后通过输入运行它,但是它只会传递输入之前我给它的数字。当您尝试打印它时,stancount
变量超出范围
您可以将其作为参数传递到print\u mining\u values()
函数中,并以这种方式进行打印
因此,print\u mining\u values()
将变成:
def view_mining_values(sCount, aCount, uCount):
print("\n Printing all of the variables now.")
print("\n Number of standard miners starting with: ")
print(sCount)
print("\n Number of advanced miners starting with: ")
print(aCount)
print("\n Number of ultra miners starting with: ")
print(uCount)
def min_count_set():
stancount = int(input("How many standard miners do you wish to start with? "))
if (stancount > 10000 or stancount < 0):
print("\n Please enter a valid number to start with. \n \n")
min_count_set()
else:
advcount= int(input("How many advanced miners do you wish to start with? "))
if (advcount > 10000 or advcount < 0):
print("\n Please enter a valid number to start with. \n \n")
min_count_set()
else:
ultrcount = int(input("How many ultra miners do you wish to start with? "))
if (ultrcount > 10000 or ultrcount < 0):
print("\n Please enter a valid number to start with. \n \n")
min_count_set()
else:
print("\n Returning you to the setup menu \n \n")
set_mining_values(stancount, advcount, ultrcount)
您的min\u count\u set()
函数将变成:
def view_mining_values(sCount, aCount, uCount):
print("\n Printing all of the variables now.")
print("\n Number of standard miners starting with: ")
print(sCount)
print("\n Number of advanced miners starting with: ")
print(aCount)
print("\n Number of ultra miners starting with: ")
print(uCount)
def min_count_set():
stancount = int(input("How many standard miners do you wish to start with? "))
if (stancount > 10000 or stancount < 0):
print("\n Please enter a valid number to start with. \n \n")
min_count_set()
else:
advcount= int(input("How many advanced miners do you wish to start with? "))
if (advcount > 10000 or advcount < 0):
print("\n Please enter a valid number to start with. \n \n")
min_count_set()
else:
ultrcount = int(input("How many ultra miners do you wish to start with? "))
if (ultrcount > 10000 or ultrcount < 0):
print("\n Please enter a valid number to start with. \n \n")
min_count_set()
else:
print("\n Returning you to the setup menu \n \n")
set_mining_values(stancount, advcount, ultrcount)
def最小计数集():
stancount=int(输入(“您希望从多少个标准矿工开始?”)
如果(stancount>10000或stancount<0):
打印(“\n请输入一个有效的数字以开始。\n\n”)
最小计数集()
其他:
advcount=int(输入(“您希望从多少名高级矿工开始?”)
如果(advcount>10000或advcount<0):
打印(“\n请输入一个有效的数字以开始。\n\n”)
最小计数集()
其他:
ultrcount=int(输入(“您希望从多少名超级矿工开始?”)
如果(ultrcount>10000或ultrcount<0):
打印(“\n请输入一个有效的数字以开始。\n\n”)
最小计数集()
其他:
打印(“\n将您返回到设置菜单\n\n”)
设置挖掘值(stancount、advcount、ultrcount)
请注意,变量现在被传递到打印函数中。您必须在函数外部声明变量,并在函数内部修改变量,因为变量在定义它们的地方是局部的,因为您在函数内部定义的是
stancount
,因此它基本上被“删除”当你离开函数时:我推荐类似的东西
def min_count_set():
stancount = int(input("How many standard miners do you wish to start with? "))
#do stuff
set_mining_values()
return stancount
def view_mining_values(stancount):
print("\n Printing all of the variables now.")
print("\n Number of standard miners starting with: ")
print(stancount)
#do more stuff
stancount=min_count_set()
这将
stancount
设置为您在函数中设置的值,并允许您在以后打印它您可以将stancount
声明为全局变量,如:
def min_count_set():
global stancount
您试图访问函数范围之外的stancount变量这里有很多不好的东西,首先您不返回函数中的任何内容,也不从递归调用中捕获它,
advcount
和ultrcount
在调用之间不共享,每个调用都是一个完全独立的作用域。这些变量在另一个函数中定义,还向我们显示set_mining_values的定义检查:定义stancount
在任何函数的作用域之外,然后使用函数修改stancount
的值,但他不能在本地范围内使用stancount
对变量进行未保存的更改true(抱歉),但我认为他想在其他地方访问此本地变量(因此我的答案)。